首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其它“*”号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。 例如, 字符串中的内容为: ****A*BC*
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其它“*”号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。 例如, 字符串中的内容为: ****A*BC*
admin
2017-03-24
4
问题
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其它“*”号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。
例如, 字符串中的内容为:
****A*BC*DEF*G*******,删除后字符串中的内容应当是:****ABCDEFG。
注意:部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 void fun(char*a)
3 {
4 /*以下代码仅供参考*/
5 int i=0,k;
6 while(a
==’*’)i++;
7 k=i;
8 while(a
!=’\0’)/*以下程序段实现非*字符前移*/
9 {
10 }
11 a[k]=’\0’;
12 }
13 main()
14 {char s[81];void NONO();
15 printf(’’Enter a string:\n’’);gets(s);
16 fun(s);
17 printf(’’The string after deleted:\n’’);puts(s);
18 NONO();
19 }
20 void NONO()
21 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
22 FILE *in,*out;
23 int i ; char s[81];
24 in=fopen(’’in.dat’’,’’r’’);
25 out=fopen(’’out.dat’’,’’w’’);
26 for(i=0;i<10;i++) {
27 fscanf(in,’’%s’’,s);
28 fun(s);
29 fprintf(out,’’%s\n’’,s);
30 }
31 fclose(in);
32 fclose(out);
33 }
选项
答案
2 void fun( char *a ) 3 { int i=0,k; 4 while(a[i]==’*’)i++; 5 k=i; 6 while(a[i]!=’\0’) 7 {if(a[i]!=’*’) a[k++]=a[i]; 8 i++; 9 } 10 a[k]=’\0’; 11 }
解析
本题主函数中需要输入一个字符串,然后进入fun函数处理字符串,在fun函数中,就要实现题目要求我们写出的功能了。首先是判断字符串的开始是否为“*”,这里就用到while函数(这里因为有步骤的区别,所以这里用while比用if好),判断开始的字符是否为“*”,见程序第5~6行,这里需要顺次进行,因为开始无论有多少个“*”都不用删除,当出现字母时,就开始下一步了,因为已经出现了字母,所以后面出现的“*”一律删除,而字母时不用管的,所以这里就又需要if条件语句来判断是否为“*”然后赋值为空,见程序第9~12行,当程序进行到字符为空时代表字符串结束,程序就终止,这里就要用到while条件语句进行终止判断,见程序第7行。这样循环进行就能保留字符串前面的“*”并且删除后面出现的所有“*”了,然后fun函数执行完成就可以转到主函数中进行新字符串的输出了。
转载请注明原文地址:https://kaotiyun.com/show/4MID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
根据下面材料回答下列小题。自20世纪末期,山西同全国一样粮食供需形势发生逆转,粮价持续走低,粮食生产效益滑坡,农民生产积极性受挫。2004年初,中央下发“一号文件”,实施了“一减三补”等一系列惠农政策,之后连续三年出台中央“一号文件”,“保护和加强
当我们不再为穿衣吃饭等基本需求发愁时,_______。我们不仅关注食品、安全、疾病、健康等离我们很近的东西,也开始关注那些离我们十分遥远,但又根植于内心深处的需求。它们或是短小精悍的科普故事,或是数据精准的百科知识,亦或就像中国人过春节,围观一场充满期待的
元朝人画山水的基本态度发生了改变,不像宋朝人那么追求真山真水,却注意自己的“有笔有墨”,大家所称的“宋人丘壑”和“元人笔墨”正是指此。换言之,宋朝人爱大自然胜过笔墨,而元朝人爱自己的笔墨胜过大自然,_______。填入画横线部分最恰当的一句是(
根据我国《行政许可法》的规定,下列说法错误的是()。
“草根经济”以小型企业、城乡个体工商户、创业者和农户为主,是社会经济中最具活力的部分。发展“草根经济”有利于()。①巩固公有制经济主体地位②扩大就业领域③提高人民生活水平④拉动国内需求
民俗是文化的一种表现形态,即传统与文化的活态形式。它是经过于百年岁月的淘洗留下来的文化精华与现实结合的产物。民俗对于特定的群体有强烈的认同功能,对于当代社会的建设,具有不可替代的作用。这段文字是从什么角度来定义“民俗”的()。
传统家训家规是我国古代以家庭为范围的道德教育形式,也是中华道德文化传承的一种方式。我国历史上流传下来的家训家规,始作者多是文化名人或著名官宦,社会影响较为广泛。这些家训家规的功能远远超出对本家族的教育作用,而成为社会教育的一种独特形式,为社会提供了家庭教育
阅读以下文字,回答下列问题。从本质上讲,每个人都有两个年龄:一个是时间年龄,日历说你多大了;另一个是生理年龄,它以你的身体功能为基础,是与平均的健康水平对应的。“时间年龄并不是我们真正的年龄,这只是一个数字。”哈佛大学教授大卫·辛克莱说
阅读以下文字,回答下列问题。从本质上讲,每个人都有两个年龄:一个是时间年龄,日历说你多大了;另一个是生理年龄,它以你的身体功能为基础,是与平均的健康水平对应的。“时间年龄并不是我们真正的年龄,这只是一个数字。”哈佛大学教授大卫·辛克莱说
随机试题
PFM的瓷层构筑是用瓷粉和专用液调和后在基底冠上堆塑成牙冠的方法。其构筑顺序依次是:遮色瓷、牙本质瓷、切端瓷和透明瓷。瓷泥构筑的主要目的是A.准确造型B.压实瓷泥C.减少烧结时的体积收缩D.增加瓷层烧成后的强度E.保证瓷层的半透明度
水泥混凝土浇筑时应防止混凝土离析,自高处向模板内直接倾卸混凝土时,其自由倾落高度不宜超过()。
应由业主对分包商进行索赔的情况有()。
房间的机械排烟系统宜按()设置。
对需要在银行或国家外汇管理部门办理出口收汇核销的出口货物,报关员应向海关申请签发出口收汇核销单。()
直接监控受到制约的因素有()。
人民警察的()包括积极履行公务、秉公执法、文明执勤三个方面。
鞠躬尽瘁:呕心沥血
乡村对于()相当于()对于治理
A、Moststudentswouldliketoworkforanewspaper.B、Moststudentsfindajobbyreadingadvertisements.C、Moststudentsfindi
最新回复
(
0
)