首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:将s所指字符串中ASCⅡ码值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为″ABCDEFG12345″,其中字符B的ASCⅡ码值为偶数,字符2的ASCⅡ码值为偶数,都应当删除
请编写函数fun,该函数的功能是:将s所指字符串中ASCⅡ码值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为″ABCDEFG12345″,其中字符B的ASCⅡ码值为偶数,字符2的ASCⅡ码值为偶数,都应当删除
admin
2019-04-14
68
问题
请编写函数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://kaotiyun.com/show/q2Rp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
阅读下面程序,则程序的执行结果为()。#include"stdio.h"main(){inta=10;fun(A);printf("%d\n",A);}fun(intx){x=50;}
设有以下语句:charstr1[]="string",str2[8],*str3,*str4=="string;则______不是对库函数的正确调用。
下列程序的运行结果是_________。main(){inta=1,b=10;do{b-=a;a++}while(b--<0);printf("%d,%d\n",a,b);}
有以下程序#includemain(){chara[20],b[20],c[20];scanf(“%s%s”,a,b);gets(c);printf(“%s%s%s\n”,a,b,c);
下列关于C语言用户标识符的叙述中正确的是()。
若有以下定义语句,则不移动指针p,并且通过指针p引用值为98的数组元素的表达式是【】。intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是()。
有两个关系R和T如下:则由关系R得到关系T的操作是
我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是
深度为7的二叉树共有127个节点,则下列说法中错误的是()。
随机试题
建设美丽中,强化公民环境意识,倡导弘扬的是()
对于气—固相反应,适宜的反应器应该是裂解炉
Itisreportedthatanincreasingnumberofpeople______buildingmorenuclearpowerplants.
关于吸入麻醉,不正确的是
患者自觉脘腹痞塞不通,胀满难受而无块状物可及,可以诊为:
下列腧穴中,治疗急性胃病应首选()
生产注射剂时常加入适当活性炭,其作用是
甲公司向公安机关报案,称高某利用职务便利侵占本公司公款320万元。侦查机关在侦查中发现,高某有存款380万元,利用侵占的公款购买的汽车1部和住房1套,还发现高某私藏军用子弹120发。公安机关对于上述财物、物品所作的下列哪种处理是错误的?(2006年试卷2第
某商场从某公司以每台1500元的价格购进电视机20台。下列选项中,不属于这一买卖法律关系的构成要素的是
WhydomanyvisitorscometoCambridge?
最新回复
(
0
)