首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串中尾部的木号不多于n个,若多于n个,则删除多余的*号;若少于
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串中尾部的木号不多于n个,若多于n个,则删除多余的*号;若少于
admin
2018-08-11
47
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串中尾部的木号不多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做任何操作,字符串中间和前面的*号不删除。
例如,字符串中的内容为“****A*BC*DEF*G*******”,若n的值为4,删除后,字符串中的内容应为“****A*BC*DEF*G****”;若n的值为7,则字符串中的内容扔为“****A*BC*DEF*G*******”。n的值在主函数中输入。编写函数时,不得使用C语言提供的字符串函数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
void fun(char*a,int n)
{
}
main()
{char s[81];int n;
printf("Enter a string:\n");
gets(s);
printf("Enter n:");
scanf("%d",&n);
fun(s,n);
printf("The string after deleted:\n");
puts(s);
}
选项
答案
void fun(char*a,int n) { int i=0,k=0; char*p,*t; p=t=a; /*将指针移动到字符串末尾*/ while(*t) t++; t--; /*从后往前如果是‘*’则使k++,找到最后一个*所在的位置,并记录‘*’的个数*/ while(*t==’*’) /*指针t指向前一个,同时标量k增加一*/ {k++,t--;} /*如果最后*的个数大于允许的个数*/ if(k>n) /*循环次数不大于前面的字符与最大允许*的个数之和*/ {while(*p&&p<t+n
解析
字符串中尾部*号不能多于n个,多余的要删除。首先需要通过while循环统计字符串尾部*号,然后通过if条件语句完成尾部木号数和n的比较,若尾部木号数多于n个,则需要把n个*号和其余字符重新保留。
转载请注明原文地址:https://www.kaotiyun.com/show/fjxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
栈和队列通常采用的存储结构是【】。
单个用户使用的数据视图的描述称为______。
以下程序的输出结果是main(){charc=’z’;printf("%c",c-25);}
下列程序的输出结果是()。#includevoidfun(int*a,int*b){int*k;k=a;a=b;b=k;}main(){inta=1,b=2,*x:&a
两次运行下列的程序,如果从键盘上分别输入3和1,则输出结果是()。main(){intx;scanf("%d",&x);if(x++>2)printf("%d",x);els
以下程序运行后输入3,abcde<回车>,则输出结果是【】。#include<string.h>move(char*str,intn){chartemp;inti;temp=str[n-1];for
下面程序的运行结果是___________。#includemain(){inta,b,c,n;a=2;b=0;c=1;n=1;while(n
设函数fun的定义形式为:voldfun(charch,floatx){……}则以下对函数fun的调用语句中,正确的是()。
已定义ch为字符型变量,以下赋值语句中错误的是()。
函数fun的功能是计算xndoublefun(doublex,intn){inti;doubley=1;for(i=1;i<=n;i++)y=y*x;returny;}主函数
随机试题
购买者更重视品牌的()
计算∫.
氨基苷类抗生素与尿道碱化剂配伍,能增强尿路感染的抗菌效能。()
患者,男,40岁。因过敏性鼻炎出现鼻塞症状到医院就诊,医生开具呋麻滴鼻液,连续用药数次后,感觉原用药剂量无效,需加大剂量方才有效,发生此现象的原因是
以下哪项不是胎儿窘迫监床表面:
某棉纺织厂的纺织联合厂房,在回风机的前端设置滤尘器对空气进行净化处理。如需将过滤后的空气循环使用,应使空气中的含尘浓度低于其爆炸下限的()。
公安局认定朱某嫖娼,对其拘留15日并处罚款5000元。关于此案,下列说法中不正确的是()。
什么叫“古树名本”,对城市“古树名本”如何管理?
It’stimeforAmericatostartfollowingothercountries’leadswhenitcomestoeducation,accordingtoanewreportbytheNat
Inrecentyears,onlinejobinterviewshavebecomemoreandmorepopular.Manycompaniesareregularlyusingtechnologytocondu
最新回复
(
0
)