首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:将s所指字符串中ASCⅡ码值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为″ABCDEFG12345″,其中字符B的ASCⅡ码值为偶数,字符2的ASCⅡ码值为偶数,都应当删除
请编写函数fun,该函数的功能是:将s所指字符串中ASCⅡ码值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为″ABCDEFG12345″,其中字符B的ASCⅡ码值为偶数,字符2的ASCⅡ码值为偶数,都应当删除
admin
2019-04-14
72
问题
请编写函数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全国计算机二级
相关试题推荐
设有以下语句:charstr1[]="string",str2[8],*str3,*str4=="string;则______不是对库函数的正确调用。
下列关于C语言数据文件的叙述中正确的是()。
若有说明chars1[]="Thatgirl",s2[]="isbeautiful";则使用函数strcmp(s1,s2)后,结果是______。
执行以下程序后,test.txt文件的内容是(若文件能正常打开)______。 #include <stdio.h> main() { FILE *fp; char *s1="Fortra
在下列关于C语言的局部变量和全局变量所采取的存储类别的叙述中,错误的一条是()
若有以下定义:structlink{intdata;structlink*next;}a,b,c,*p,*q;且变量a和b之间已有下图所示的链表结构:指针p指向变量a,指针q指向变量c,
设某循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有()个元素。
以下是while语句的基本形式:while(表达式){语句;}其中“表达式”()。
下列程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。intn=0,c;c=getchar();while(c!=’\n’){if(______)n++;}
下列叙述中正确的是()。
随机试题
根据十九大精神,全面从严治党需要把()摆在首位。
下列有关报价先后的说法中,正确的有()
计算机系统的硬件主要包括运算器、_______、存储器、输入设备、输出设备五大部分组成。
数字化彩超的关键技术是
船舶碰撞,是由于()的原因造成的,碰撞各方相互不负赔偿责任。
根据下列经济业务编制会计分录资料:某企业2009年10月份发生下列经济业务:1.10月1日,企业从银行借入期限为6个月的借款500000元,存入银行。2.10月2日,总经理出差归来报销差旅费4500元,交回多余现金500元。3.10月5日,以银
陆先生在人身保险合同中指定了数人作为自己的受益人,后陆先生突然病故,在其去世前未确定受益人的受益顺序和受益份额,那么其受益人应按照( )享有受益权。
国务院某部委出台一部行政规章,规定对某种行政违法行为不仅要处罚该单位,还要给予直接责任人罚款的处罚。但有关规定这一违法行为处罚的行政法规并没有规定对直接责任人给予行政处罚。以下表述错误的有()。
下列说法正确的是()。
已知二叉树后序遍历序列是CDABE,中序遍历序列是CADEB,它的前序遍历序列是()。
最新回复
(
0
)