首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其它 “*”号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。 例如,字符串中的内容为:****A*BC*DE
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其它 “*”号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。 例如,字符串中的内容为:****A*BC*DE
admin
2017-02-28
3
问题
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其它 “*”号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。
例如,字符串中的内容为:****A*BC*DEF*G******,删除后字符串中的内容应当是:****ABCDEFG。
注意:部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
voici fun( char *a )
{
/*以下代码仅供参考*/
int i=0,k;
while(a
==’*’) i++;
k=i;
while(a
!=’\0’)/*以下程序段实现
非*字符前移*/
{
}
a[k]=’\0’;
}
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<1 0;i++){
fscanf (in,"ooS",s);
fun (s);
fprintf (out,/;%s\n/;,s),
}
fclose (in);
fclose (out);
}
选项
答案
2 voicl fun( char *a ) 3 { int i=0,k; 4 while(a[i]==’* ’) i++; 5 k=i; 6 wnile(a[i]! =’\0’) 7 { if(a[i] != ’* ’) a[k++]=a[i]; 8 i++; 9 } 10 a[k]=’\0’; 11 }
解析
本题所需要的功能是是处理一个输入的只含字母和“*”的字符串,除了字符串前导的“*”号之外,将串中其它“*”号全部删除。并且在编写函数时,不得使用C语言提供的字符串函数。这里根据题意,很快我们就知道需要使用循环语句和条件语句来进行功能的实现。第一步要自己输入字符串,这就需要格式输入函数;第二步就要进行功能函数了,这里的就要一开始是否有“*”的存在,有多少个“*”这个是很重要的判断。因为根据题意虽然是要删除“*”,但是字符串前面的“*”是不用删除的,无论有多少个都不能删除,然后当没有“枣”或者跳过字符串前面“*”后,就要到达第一个字母了:字母保留,然后后面遇见“*”就删除,依次循环进行下去,一直到字符串结束,这些功能的实现就需要条件语句和循环语句的使用了;第三步将处理过后的字符串输出,得到新的字符串,程序就可以结束了。
本题主函数中需要输入一个字符串,然后进入fun函数处理字符串,在fun函数中,就要实现题目要求我们写出的功能了。首先是判断字符串的开始是否为“*’,这里就用到while函数(这里因为有步骤的区别,所以这里用while比用if好),判断开始的字符是否为“*”,见程序第5—6行,这里需要顺次进行,因为开始无论有多少个“*”都不用删除,当出现字母时,就开始下一步了,因为已经出现了字母,所以后面出现的“*”一律删除,而字母时不用管的,所以这里就又需要if条件语句来判断是否为“*”然后赋值为空,见程序第9—12行,当程序进行到字符为空时代表字符串结束,程序就终止,这里就要用到while条件语句进行终止判断,见程序第7行。这样循环进行就能保留字符串前面的“*”并且删除后面出现的所有“*”了,然后fun函数执行完成就可以转到主函数中进行新字符串的输出了。
转载请注明原文地址:https://kaotiyun.com/show/YgID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
根据以下资料,回答以下问题。2010年上半年,全国原油产量为9848万吨,同比增长5.3%,上年同期为下降1%。进口原油11797万吨(海关统计),增长30.2%。原油加工量20586万吨,增长17.9%,增速同比加快16.4个百分点。成品油产量
根据以下资料,回答以下问题。E省统计局公布的数据显示,2014年上半年E省实现地区生产总值(GDP)5141.7亿元,同比增长了6.8%.比全国平均水平低了0.6个百分点。分产业来看,第一产业增加值268.79亿元,同比增长4.0%;第
张某和王某是邻居,在一起行政案件的执行中,人民法院执行人员误将案外人员王某的一间房屋当作被执行人张某的房屋强行拆毁。王某提出赔偿请求,该损失应由谁赔偿?()
行政机关制定的除行政法规和规章以外的其他规范性文件,在设定行政处罚上()。
李某系A市建设银行某储蓄所记账员。某日下午下班时,李某发现本所出纳员陈某将2万元营业款遗忘在办公桌抽屉内(未锁)。当日下班后,李某趁所内无人之机,返回所内将该2万元取出,用报纸包好后藏到自己办公桌下面的垃圾箱中,并用纸箱遮住垃圾袋。次日上午案发,赃款被他人
根据我国《宪法》的规定,下列人员中可以申请退出中国国籍的是()。
艺术创作的世界没有“安慰奖”,作品自身的水准远比空谈“磨剑”的口头功夫来得重要。更何况有些标榜的年数,还未必真实。所以我想套用一句当下的流行语:少一些磨剑,多一些真诚。当然,这绝对不是说文艺作品不需要反复打磨;恰恰相反,正是因为文艺作品需要真诚与耐心地打磨
人的世界观形成有一定的轨迹,人的一切言行总是一定“轨迹”的体现。资产阶级的唯我主义的形成是圆内半径运行轨迹的结果。这个“圆”的圆心就是“我”,“半径”则是个人的利害得失。对文字中画线句子理解正确的一项是()。
神经胶质细胞的功能有
西周时期为保证适用法律的谨慎,防止错杀无辜,对犯罪事实有疑的案件,在司法审判中要经过()程序。
随机试题
一般来说,活动目的越明确、越具体,越容易引起【】
Icannotunderstandmyneighbour’saccent.Iwishshe______.
新风调节阀的数量是:
电路如题80图所示,已知I1=I2=1A,总电流I=()A。
在两台以上不同蒸发温度的蒸发器并联使用时,压缩机是以()作为运行基准的。
可以反映施工机械化程度和劳动生产率水平的是( )。
因为套期保值者首先在期货市场以买入方式建立多头的交易部位,故又称为多头套期保值。()
阅读分析某岛国有关信息资料,完成下列各题。材料一:该国地形图。材料二:该国人均国民生产总值17045美元,农牧业在国民经济中占重要地位,全国2/3的土地适宜农牧,畜牧业产值占出口总值的70%以上。按生产对象划分,该国典型的农业地域类型是什么?试分
A、B两地位于同一条河上,B地在A地下游100千米处。甲船从A地、乙船从B地同时出发,相向而行,甲船到达B地、乙船到达A地后,都立即按原来路线返航。水速为2米/秒,且两船在静水中的速度相同。如果两船两次相遇的地点相距20千米,那么两船在静水中的速度是(
InasurveyconductedbyresearchfirmHarrisInteractive,71%ofAmericanssaidthatspendingextramoneyontravelduringth
最新回复
(
0
)