首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和#。请编写函数fun,其功能是:除了字符串前导的#之外,将串中其他#全部删除。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:“###aBcdE#FG##”,删除后,字符串中的内容应当是:###aBcd
规定输入的字符串中只包含字母和#。请编写函数fun,其功能是:除了字符串前导的#之外,将串中其他#全部删除。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:“###aBcdE#FG##”,删除后,字符串中的内容应当是:###aBcd
admin
2017-11-24
46
问题
规定输入的字符串中只包含字母和#。请编写函数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全国计算机二级
相关试题推荐
下列诗句描述与城市之间对应关系错误的是()。
下列有关监护人的说法,错误的是()。
“火树银花楼七层,层层红灯倍加增,共有红灯三八一,试问四层几红灯?”
在付费知识的市场宣传重点中,最吸引人的莫过于能有效地利用碎片时间,如在等公共汽车、跑步时进行学习和提升自我,进而有效管理时间。这种碎片化学习的方式虽然看似很灵活,并可以提高时间利用率,但科学研究表明,它不能真正地让你吸收学到的知识,不符合大脑吸收知识的运行
人的世界观形成有一定的轨迹,人的一切言行总是一定“轨迹”的体现。资产阶级的唯我主义的形成是圆内半径运行轨迹的结果。这个“圆”的圆心就是“我”,“半径”则是个人的利害得失。对文字中画线句子理解正确的一项是()。
阅读以下文字,回答下列问题。从本质上讲,每个人都有两个年龄:一个是时间年龄,日历说你多大了;另一个是生理年龄,它以你的身体功能为基础,是与平均的健康水平对应的。“时间年龄并不是我们真正的年龄,这只是一个数字。”哈佛大学教授大卫·辛克莱说
简述普鲁士统一德国的社会历史条件。(湖南师范大学2013年历史学综合真题)
某商品经营管理系统使用SQLServer数据库。在数据库中存在销售单据表,建表语句为:CREATETABLE销售单据表(销售单据编号char(20),付款总金额money,销售日期datetime,销售人员
下列各项中属于合法标识符的是()。
给定程序MODl1.C中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。例如:当s中的数为2736598时,t中的数为:2358。#include<conio.h>#inc
随机试题
在FOB下,卖方的主要义务。
结脉和促脉的区别在于
每逢经前或经期,巅顶头痛,烦躁易怒,口苦咽干,其辨证为:
直流屏主母线宜采用阻燃绝缘铜母线,应按()放电率或充电设备的额定电流计算长期允许载流量,并应进行短路电流热稳定校验和按短时最大负荷校验其温度不超过绝缘体的允许事故过负荷温度。
各种账务处理程序之间的区别在于()。
三相异步电动机出线盒中有6个接线柱,分上下两排,用金属连接板可以把三相定子绕组接成()连接。
课程标准作为衡量教育质量的基本依据,其核心部分是()。
毛泽东在探索中国社会主义建设道路过程中提出,社会主义的发展阶段可能分为()。
Internet的开放有弊也有利。公开源码软件的出现等在一定程度上缓解了盗版问题。最重要的是,商业软件发行商也开始利用Internet作为发行和保护软件的渠道。、除了免费的补丁和升级程序下载外,还使用了许可证管理软件实现通过Internet销售软件。圣天诺
Readtheextractbelowfromacompanyreport.Inmostofthelines(34-45),thereisoneextraword.Itiseithergrammaticallyi
最新回复
(
0
)