首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和#。请编写函数fun,其功能是:除了字符串前导的#之外,将串中其他#全部删除。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:“###aBcdE#FG##”,删除后,字符串中的内容应当是:###aBcd
规定输入的字符串中只包含字母和#。请编写函数fun,其功能是:除了字符串前导的#之外,将串中其他#全部删除。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:“###aBcdE#FG##”,删除后,字符串中的内容应当是:###aBcd
admin
2017-11-24
39
问题
规定输入的字符串中只包含字母和#。请编写函数fun,其功能是:除了字符串前导的#之外,将串中其他#全部删除。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:“###aBcdE#FG##”,删除后,字符串中的内容应当是:###aBcdEFG。
注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun(char*a)
{
}
main()
{char s[81];void NONO();
printf(’’Enter a string:\n’’);gets(s);
fun(s);
printf(’’The string after deleted:\n’’);puts(s);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE*in,*out;
int i;char s[81];
in=fopen(’’in.dat’’,’’r’’);
out=fopen(’’out.dat’’,’’W’’);
for(i=0;i<10;i++)
{
fscanf(in,’’%s’’,s);
fun(s);
fprintf(out,’’%s\n’’,s);
}
fclose(in);
fclose(out);
}
选项
答案
void fun(char*a) { int i=0;char*p=a; while(*p&&*p==’#’) { a[i]=*p; i++: p++; } while(*p) { if(*p!=’#’) {a[i]=*p;i++;} p++; { a[i]=’\0’; }
解析
函数fun的功能:除了字符串前导的#之外,将串中其他#全部删除。解答本题
(1)定义一个临时指针p,初始指向原串首地址;
(2)利用循环语句把字符串前导#拷贝到原串;
(3)继续移动指针,把串中和串尾的非#字符拷贝到原串;
(4)为修改后的字符串赋结束字符’\0’。
要删除字符串中的指定字符,我们通常采用保留非指定字符的方法。可以将非指定字符保留在原串。即将需要保留的字符从原串的起始位置重新赋值;也可以保留到新串,即新建一个字符串,存放要保留的字符。
转载请注明原文地址:https://kaotiyun.com/show/ESID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
焚香的习俗在中国有着悠久的历史,通常人们为了礼仪将衣服熏香,古代文人雅士也喜欢在书房内焚上一炉香,营造“红袖添香夜读书”的意境。因此,早在汉代以前就出现了以陶、瓷、钢、铁、瓦为材料制成的香炉。汉代时,佛教的传人对香炉的发展起了相当大的作用。元末明初,原先其
河北省河流众多,长度在18公里以上1000公里以下者就达300多条。境内河流大都发源或流经燕山、冀北山地和太行山山区,其下游有的合流人海,有的单独人海,还有因地形流人湖泊不外流者。主要河流从南到北依次有漳卫南运河、子牙河、大清河、永定河、潮白河、蓟运河、滦
下列有关文学常识的表达,有误的一项是()。
“草根经济”以小型企业、城乡个体工商户、创业者和农户为主,是社会经济中最具活力的部分。发展“草根经济”有利于()。①巩固公有制经济主体地位②扩大就业领域③提高人民生活水平④拉动国内需求
老师跟学生在室内场馆玩倒影猜距离的游戏。老师让身高1.6米的小陈站在场馆中间,并依次打开位于小陈正前方高度均为6.4米的两盏灯。如果测得小陈在地板上的影子长度分别是1米和2米,那么,上述两盏灯之间的距离是多少米?
简述英法百年战争的起因和结果。(南京大学1996年世界古代中世纪史真题)
关于“描述性定义”“规定性定义”和“纲领性定义”,下列说法正确的是
清朝乾隆年间,四川重庆府某甲“因戏而误杀旁人”,被判处绞监候。依据清代的会审制度,对某甲戏杀案的处理,适用的程序是
给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程
下列给定程序中,函数proc()的功能是:从字符串str中,删除所有大写字母’F’。请修改程序中的错误,使它能得到正确结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:#includevoidproc(cha
随机试题
培养淋病奈瑟菌常用_________培养基,培养适应加入_________气体。
社会知觉
桩冠修复中,冠桩的长度原则上要求为根长的
上市公司在其股票暂停上市期间,可以不履行上市公司的有关义各。()
完璧归赵:破釜沉舟:《史记》
非物质文化遗产
EveryoneknowshowtogettoCarnegieHall:practice,practice,practice.Butwhatabouthowtogetintothenation’smosthonor
1 IfJohnnycan’twrite,oneofthereasonsmaybeconditioningbasedonspeedratherthanrespectforthecreativeprocess.Sp
SocialmobilityintheU.K.couldbereversedunlessthegovernmentanduniversitiesmakechangestoencourageandpayformore
Cryingishardlyanactivityencouragedbysociety.Tears,betheyofsorrow,anger,orjoy,typicallymakeAmericansfeeluncom
最新回复
(
0
)