首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:将s所指字符串中ASCⅡ码值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为″ABCDEFG12345″,其中字符B的ASCⅡ码值为偶数,字符2的ASCⅡ码值为偶数,都应当删除
请编写函数fun,该函数的功能是:将s所指字符串中ASCⅡ码值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为″ABCDEFG12345″,其中字符B的ASCⅡ码值为偶数,字符2的ASCⅡ码值为偶数,都应当删除
admin
2019-04-14
71
问题
请编写函数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全国计算机二级
相关试题推荐
有以下程序:main(){inti;for(i=0;i<3;i++)switch(i){case0:prinft("%d",i);Case2:prinft("%d",i);def
已知chara;intb;floatc;doubled;则表达式a-b+c-d结果为()型。
以下程序的输出结果是()。#include<stdio.h>voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[
执行以下程序后,test.txt文件的内容是(若文件能正常打开)______。 #include <stdio.h> main() { FILE *fp; char *s1="Fortra
下列程序的输出结果是______。main(){inti;for(i=0;i<2;i++)add();}add(){intx=0;staticinty=0;printf("%d,%d\n",x,y);x++;y
下面的叙述正确的是()。
层次模型的典型代表是IBM公司的【】数据库管理系统。
若给fun函数的形参s传送字符串“∪∪6354’abc"(其中∪表示空格字符),则函数的返回值是【】。longfun(chars[]){longn;intsign;for(;isspace(*s);s++);
我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是
以下说法正确的是()。
随机试题
直肠旁间隙的前界在男女性各有何结构?
为防治水污染,施工现场应采取的措施有()。
()和效果是行为构成中最最要的两个因素。
正确发挥意识能动作用的客观前提是
有关食管的描述错误的是
窦房结能成为心脏正常起搏点的原因是
保证中药质量的前提是()
液压速度控制回路中调整工作行程速度的方法主要有( )。
怎样把握预测企业预期收益的基础?
关于投资性房地产转换日的确定,下列说法中正确的有()。
最新回复
(
0
)