首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,规定输入的字符串中只包含字母和"*"。请编写函数fun(),其功能是使字符串的前导"*"不得多于n个,若多于n个,则删除多余的"*"
使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,规定输入的字符串中只包含字母和"*"。请编写函数fun(),其功能是使字符串的前导"*"不得多于n个,若多于n个,则删除多余的"*"
admin
2023-02-27
26
问题
使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,规定输入的字符串中只包含字母和"*"。请编写函数fun(),其功能是使字符串的前导"*"不得多于n个,若多于n个,则删除多余的"*";若少于或等于n个,则不做处理。字符串中间和尾部的"*"不删除。
例如,字符串中的内容为"*******A*BC*DEF*G****",若n的值为4,删除后,字符串中的内容应当是"****A*BC*DEF*G****";若n的值为8,则字符串中的内容仍为"*******A*BC*DEF*G****"。n的值在主函数中输入。在编写函数时,不得使用c语言提供的字符串函数。
注意:部分源程序给出如下。
请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。
试题程序:
1 #include<stdio.h>
2 #include<conio.h)
3 void fun(char*a,int n)
4 {
5
6 }
7 void main()
8 {
9 char s[81];int n;
10 printf("Enter a string:\n");
11 gets(s);
12 printf("Enter n:");
13 scanf("%d",&n);
14 fun(s,n);
15 printf("The string after deleted:\n");
16 puts(s);
17 }
选项
答案
1 void fun(char * a,int n) 2 { 3 int i=0,k=0; 4 char*p,*t; 5 p=t=a; /*开始时,p与t同时指向数组的首地址*/ 6 while(*t=='*’) /*用k来统计前导星号的个数*/ 7 {k++; t++;} 8 if(k>n) /*如果k大于n,则使p的前导保留n个星号,其后的字符依次存入数组a中*/ 9 {while(*p) 10 {a[i]=*(p+k-n); 11 i++; 12 p++; 13 } 14 a[i]='\0', /*在字符串最后加上字符串结束标志*/ 15 } 16 }
解析
字符串中前导星号不能多于n个,多余的应删除。首先需要通过while循环统计字符串前导星号的个数,然后通过if条件语句完成前导星号的个数和n的比较,如果前导星号多于n个,则需要把n个星号和其余字符重新保留。
转载请注明原文地址:https://kaotiyun.com/show/7D0D777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
半径分别为60米和40米的两条圆形跑道在点A相切,甲乙两人同时从点A出发,以相同的速度分别沿两个跑道行走,则第一次相遇时沿小圆轨道行走的人一共走了()圈。
高三(一)班要安排毕业晚会上4个音乐节目,2个舞蹈节目和1个曲艺节目的演出顺序,要求两个舞蹈节目不连排,则不同排法的有()。
在数字1,2,33符号+,-五个元素组成的所有全排列中,任意两个数字都不相邻的全排列有()。
|x-1|+|x-3|=4-2x,其非负整数解有()个。
邓小平理论使改革开放后的中国发生了天翻地覆的变化,迎来了思想的解放、经济的发展、政治的昌明、教育的勃兴、文艺的繁荣、科学的春天。邓小平理论形成的历史根据是()
习近平总书记强调:“尽管我们所处的时代同马克思所处的时代相比发生了巨大而深刻的变化,但从世界社会主义500年的大视野来看,我们依然处在马克思主义所指明的历史时代。这是我们对马克思主义保持坚定信心、对社会主义保持必胜信念的科学根据。”下列关于社会主义必然胜利
设A是3阶矩阵,α为3维列向量,P=(α,Aα,A2α)为可逆矩阵.B=P-1AP,且A3α+2A2α=3Aα,则下列选项错误的是()
进程P1、P2、P3、P4和P5的前趋图如下所示:若用PV操作控制这5个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为____(1)____;空③和空④处应分别为___(2)_____;空⑤和空⑥处应分别为___(3)_____。
计算机中的CPU主要由运算单元、控制单元、寄存器组和时序电路等组成,其中对程序指令进行译码的是________。
若变量已正确定义并赋值,则以下符合C语言语法的表达式是()。
随机试题
受送达人是法人的,将诉讼文书交由法人的法定代表人签收。此为
A、PentazocineB、NaltrexoneC、FentanylD、Leu-enkephalinE、Pethidine4-苯基哌啶类()
建筑电气工程变配电室工程应单独组卷。()
净现值用于互斥方案评价时,必须考虑时间的可比性,即在相同的计算期下比较净现值的大小,其常用方法为()和研究期法。
上市公司股东发行可交换公司债券,应符合的规定有()。Ⅰ.公司最近3个会计年度实现的累计可分配利润不少于公司债券1年的利息Ⅱ.公司最近一期末的净资产额不少于人民币3亿元Ⅲ.本次发行后累计债券余额不得超过最近一期期末净资产
下列行为违反公平对待所有客户的行为准则的是()。
某中外合作经营企业的组织形式是有限责任公司.该公司董事会会议发生的下列情形中,符合法律规定的是()。
国内旅游纠纷仲裁的原则包括()。
A.对半卡环B.图形卡环C.三臂卡环D.回力卡环E.联合卡环单侧牙缺失较多,需对侧辅助固位的卡环是()。
A、TheyallowedhimtocometoEnglandimmediately.B、Theythoughtheshouldgoabroadasachild.C、Theywerereluctantuntilth
最新回复
(
0
)