首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:将s所指字符串中ASCⅡ码值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为″ABCDEFG12345″,其中字符B的ASCⅡ码值为偶数,字符2的ASCⅡ码值为偶数,都应当删除
请编写函数fun,该函数的功能是:将s所指字符串中ASCⅡ码值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为″ABCDEFG12345″,其中字符B的ASCⅡ码值为偶数,字符2的ASCⅡ码值为偶数,都应当删除
admin
2019-04-14
55
问题
请编写函数fun,该函数的功能是:将s所指字符串中ASCⅡ码值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
例如,若s所指字符串中的内容为″ABCDEFG12345″,其中字符B的ASCⅡ码值为偶数,字符2的ASCⅡ码值为偶数,都应当删除,其他依此类推。最后t所指的数组中的内容应是″ACEG135″。
注意:请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
void fun(char *s,char t[])
{
}
void main()
{
FILE *wf;
char s[100],t[100];
system(″CLS″);
printf(″\nPlease enter string S:″);
scanf(″%s″,s);
fun(s,t);
printf(″\nThe result is:%s\n″,t);
/* * * * * * found * * * * * */
wf=fopen(”out.dat”,”W”);
fun(″ABCDEFG12345″,t);
fprintf(wf,″%s″,t);
fclose(wf);
/* * * * * * found * * * * * */
}
选项
答案
void fun(char *s,char t[]) { int i=0; for(;*s!=′\0′;s+ +) /*找出ASCⅡ值为奇数的字符依次存入数组t中*/ if(*s%2= =1) t[i+ +]=*s; t[i]=′\0′; /*在字符串的末尾加上串结束符*/ }
解析
本题要求将s所指字符串中ASCⅡ码值为偶数的字符删除,因此本题要求采用一个for循环来找出ASCⅡ码值为奇数的字符依次存入数组t中,并使用if条件句来判断s所指字符串中ASCⅡ码值是否为奇数。用′\0′加在字符串的末尾来表示字符串的结束。
要删除ASCⅡ码值为偶数的字符,也就是要留下ASCⅡ码值为奇数的字符。由于最终是要求出剩余字符(即ASCⅡ码值为奇数)形成的新串,所以本题程序的算法是对原字符串从头到尾扫描,找出ASCⅡ码值为奇数的字符并将其依次存入数组t中。此外,还要注意数组t的下标变化和下标的初值(初值必须为0,即i=0),t[i+ +]的作用是先使用t
,然后再使i自增1。
转载请注明原文地址:https://www.kaotiyun.com/show/q2Rp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序#include#includeStructA{inta;charb[10];doublec;};structAf(structAt);main(){stru
下面程序是计算100以内能被4整除且个位数为4的所有整数,请填空。main(){intm,n;for(m=0;【】;m++){n=m*10+4;If(【】)continue;printf("%d\n",n);}}
在C语言程序中,下列说法正确的是()。
有以下程序:main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序运行后的输出结果是(选项D中的第一
若有以下定义和语句:ints[4][5],(*ps)[5];ps=s;则对s数组元素的正确引用形式是
请读程序:#include<stdio.h>main(){inta;floatb,c;scanf("%2d%3%/4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}
下列能正确进行字符串赋值的是()。
下列程序的输出结果是______。main(){inti;for(i=0;i<2;i++)add();}add(){intx=0;staticinty=0;printf("%d,%d\n",x,y);x++;y
有以下程序#includemain(){chara[20],b[20],c[20];scanf(“%s%s”,a,b);gets(c);printf(“%s%s%s\n”,a,b,c);
下列叙述中正确的是()。
随机试题
灾难医学是研究以下哪些科目的科学()
认为文化价值或兴趣上的冲突是造成社会问题的根本原因的是()
酸度计校正所用的标准缓冲液pH值应准确至
海金沙的药用部位为五倍子的药用部位为
东方股份有限公司(本题下称东方公司)系境内上市公司。2012年至2013年,东方公司发生的有关交易或事项如下:(1)2012年10月1日,东方公司与境外A公司签订一项合同,为A公司安装某大型成套设备。合同约定:①该成套设备的安装任务包括场地勘察、设计、
长江公司和大海公司均为增值税一般纳税人,适用的增值税税率均为17%,适用的所得税税率均为25%。合并前,长江公司和大海公司是不具有关联方关系的两个独立的公司。有关企业合并资料如下:(1)2014年12月20日,长江公司和大海公司的原股东黄河公司达成协议,
吃酸梅流口水是()。
人体形态测量的主要内容不包括()。
请谈谈你对“三个至上”的理解和认识。
Conventionalwisdomaboutconflictseemsprettymuchcutanddried.Toolittleconflictbreedsapathyandstagnation.Toomuch
最新回复
(
0
)