首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和幸号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的木号不删除。 例如, 字符串中的内容为:****A*BC*DEF*
假定输入的字符串中只包含字母和幸号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的木号不删除。 例如, 字符串中的内容为:****A*BC*DEF*
admin
2020-06-16
49
问题
假定输入的字符串中只包含字母和幸号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的木号不删除。
例如, 字符串中的内容为:****A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为7,则字符串中的内容仍为:
****A*BC*DEF*G*******。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun(char*a,int n)
{
}
main()
{ char s[81];int n ;
void NONO();
printf("Enter a string:\n");
gets(s);
printf("Enter 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++) (
fscarlf(in,"%s",s);
fscarlf(in,"%d",&n);
fun(s,n);
fprintf(out,"%s\n",s);
}
fclose(in);
fclose(out);
}
选项
答案
int i=0,j=0; char *p,*t ; p=t=a; while(*t) //让指针t指向串尾 t++; t--; //t指向串中的最后一个字符 while(*t==’*’) //当t指针当前指向的字符是“*”号时 { j++; //对“*”号计数的累加器加1 t--; //指向前一个字符 } t++; //跳出“*”号统计后,指针t继续指向字符串的下一个字符 if(j>n) //对统计的“*”,号数目大于给定的“*”号总数n { while(*p&&p
解析
(1)首先确定字符串的尾,然后判断“*”号字符,并对字符串中的字符进行判断,如果字符是符号“*”则对“*”号进行统计。
(2)根据统计的“*”号数目结合题目中对“*”号个数的要求,判断是执行对“*”号的截取操作,还是什么都不用做。
(3)所有字符处理完后,记得在新串s的末尾加上结束符“’\0’”。
转载请注明原文地址:https://www.kaotiyun.com/show/sdCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#includeintf(intx);main(){intn=1,m;m=f(f(f(n)));printf("%d\n",m);}intf(intx){
关于C语言标识符,以下叙述中错误的是()。
以下叙述中错误的是()。
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。
以下针对全局变量的叙述错误的是()。
有如下程序:#include<stdio.h>#include<string.h>main(){chara[]="1234",*b="ABC";printf("%d%d%d%d\n",strlen(a
以下关于结构化程序设计的叙述中正确的是()。
请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include#defineM4
下列定义数组的语句中,正确的是()。
若有以下定义:structtt{charname[10];charsex;}aa={"aaaa”,,F’},*P=&aa;则错误的语句是()。
随机试题
A.白蛋白尿B.β2-微球蛋白尿C.两者皆有D.两者皆无肾小球蛋白尿主要是
【2011—4】题21~25:某35kV变电所10kV系统装有一组4800kVA电力电容器,装于绝缘支架上,星形接线,中性点不接地,电流互感器变比为400/5,10kV最大运行方式下短路容量为300MVA,最小运行方式下短路容量为200MVA,10kV母线
描述过去一段时间内个人的现金收入和支出情况的财务报表是()。
陈阿姨打算将资金存放在年利率为10%、半年计息一次的金融品种上,她的资金要经过()年才能增值107.89%。
消费者因经营者利用虚假广告提供商品或服务,其合法权益受到损害,广告的经营者不能提供经营者的真实名称、地址的,应当承担赔偿责任。()
一般资料:求助者,女性,66岁,某工厂退休职工。案例介绍:求助者一年前睡觉时突然憋醒,胸闷气短,觉得自己马上就不行了,送入急诊后诊断为呼吸暂停综合症,自己非常后怕,因为自己的哥哥就是夜里突发心脏病去世的,医生也说这种病如不及时发现就会憋死。求助者立
Someonesays,"Timeismoney."ButIthinktimeis【C1】______importantthanmoney.Why?Becausewhenmoneyisspent,wecangeti
函数f(x)=|xsinx|ecosx是().
欧洲的电视媒体——2005年英译汉及详解ItisnoteasytotalkabouttheroleofthemassmediainthisoverwhelminglysignificantphaseinEurope
InClanguage,itisconvenienttousea(74)toexitfromaloop.
最新回复
(
0
)