首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串的前导*号不得多于n个;若多于n个,则删除多余的宰号:若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。 例如,字符串中的内容为:*******A*BC*DEF*
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串的前导*号不得多于n个;若多于n个,则删除多余的宰号:若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。 例如,字符串中的内容为:*******A*BC*DEF*
admin
2013-10-16
29
问题
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串的前导*号不得多于n个;若多于n个,则删除多余的宰号:若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。
例如,字符串中的内容为:*******A*BC*DEF*G****,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为8,则字符串中的内容仍为:*******A*BC*DEF*G****。n的值在主函数中输入。 在编写函数时,不得使用C语言提供的字符串函数。
注意:部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
void fun(char *a,int n)
{
}
mai n()
{ char s[81];int n;voi d NONO();
print f("Enter a string:\n");gets(s);
print f("Ente r n:");scanf("%d",&n);
fun(s,n);
printf("The string after deleted:\n");puts(s);
NONO();
}
void NONO()
(/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *in,*out ;
int i,n ; char S[81] ;
in=fopen("in.dat","r");
out=fopen("out.dat","w");
for(i=0;i<10;i++) {
fscanf(in,"%s",s);
fscan f(in,"%d",&n);
fun(s,n);
fprintf(out,"%s\n",s);
}
fclose(in);
fcloSe(out);
}
选项
答案
int i=0,k=0; char *t=a; while(*t=’*’) { k++; t++; } t=a; if(k>n) t=a+k-n; while(*t) { a[i]=*t; i++; t++; } a[i]=’\0’;
解析
(1)首先由字符串头开始判断字符是否为“*”号字符,如果字符是符号“*”,则对“*”号进行统计。
(2)根据统计的“*”号数目结合题目中对“*”号个数的要求,判断是执行对“*”号的截取操作,还是什么都不用做。
(3)然后将其他的所有字符拷贝到字符串,最后记得在新串s的末尾加上结束符“’\0’”。
转载请注明原文地址:https://www.kaotiyun.com/show/axID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
随着世界经济发展的需要,一些国际经济组织应运而生,今天最广泛最具有权威性的是()。
人民币汇率升高()。
某次数学比赛,参赛的男生中有得奖,女生有8人得奖,已知共有214人参加比赛,没有得奖的男生人数比没有得奖的女生人数的两倍多8人,那么参加比赛的男生有多少人?
有一批资料,甲机单独复印需11时,乙柳单独复印需13时,当甲乙两台复印机同时复印时,由于相互干扰,每小时两台共少印28张,现在两台复印机同时复印了6小时15分钟才完成,那么这批资料共有多少张?
有一项工程,甲单独做需要36天完成,乙单独做需要30天完成,丙单独做需要48天完成。现在由甲、乙、丙三人同时做,在工作期间,丙休息了整数天,甲、乙均未休息。完成这项工作也用了整数天。则丙休息了多少天?
根据以下资料,回答以下问题。中国汽车工业协会发布的2009年4月份中国汽车产销数据显示,在其他闰家汽车销售进一步疲软的情况下,国内乘用车销量却持续上升,当月销量已达83.1万辆,比3月份增长7.59%,同比增长37.37%。乘用车细分为
根据以下资料,回答以下问题。E省统计局公布的数据显示,2014年上半年E省实现地区生产总值(GDP)5141.7亿元,同比增长了6.8%.比全国平均水平低了0.6个百分点。分产业来看,第一产业增加值268.79亿元,同比增长4.0%;第
国家机构是我国宪法的主要内容之一。下列有关国家机构的说法正确的是()。
许许多多的临床实验都表明抗氧化物质实际上并不能对我们的心血管系统起到改善作用。关于抗氧化物质与癌症关系的数据没那么多,但最近一次大规模的检验维生素E能否抑制癌症的实验中途就被停止了——因为维生素E不仅没有显示出益处,反倒略微增加了前列腺癌的发病率。
以下选项中不属于我国法律制定程序的是()
随机试题
A.受精后第1~2周B.受精后第3~8周C.二者都是D.二者都不是胎儿期()
假膜性炎的主要渗出物是
《医疗废物管理条例》指出,医疗废物集中处置单位的贮存、处置设施,应当远离(),与工厂、企业等工作场所有适当的安全防护距离,并符合国务院环境保护行政主管部门的规定。
对机器设备进行裂纹检测,可采用()。
铁路运输企业对每名铁路旅客人身伤亡的赔偿责任限额为人民币()万元。
有一副对联以皇帝年号分别嵌人上下旬,其上句为:“顺天心,康民物,雍和其德,乾健其身,嘉惠普群黎,道光绍虞夏商周,咸歌盛世”。此句涉及的皇帝的朝代是:
德国古典哲学家康德曾说:“人的理性为自然界立法。”这一观点明显不同于辩证唯物主义的观点,是因为它
若有以下定义和语句,则对a数组元素地址的正确引用为inta[2][3],(*p)[3];p=a;
______thefiercecompetitionintheshippingindustry,KingfisherExpressremainsthemostsuccessfulcargocompanyintheregio
Somepsychologists(心理学家)maintainthatmentalactssuchasthinkingarenotperformedinthebrainalone,butthatone’smuscles
最新回复
(
0
)