首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做处理。字符串中间和尾部的*号不删除。 例如,字符串中的内容为“*******A*BC*DEF*G*
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做处理。字符串中间和尾部的*号不删除。 例如,字符串中的内容为“*******A*BC*DEF*G*
admin
2017-09-23
47
问题
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做处理。字符串中间和尾部的*号不删除。
例如,字符串中的内容为“*******A*BC*DEF*G****”,若n的值为4,删除后,字符串中的内容应当是“****A*BC*DEF*G****”;若n的值为8,则字符串中的内容仍为“*******A*BC*DEF*G****”。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include < stdio.h >
#include < conio.h >
void fun(char* a,int r1)
{
}
void mair1()
{
char s[81];int n;
printf("Enter a string:\n");
gets(s);
printf("Enter n:");
scar1f("%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; /*开始时,p与t同时指向数组的首地址*/ while(*t==’*’) /*用k来统计前部星号的个数*/ { k++;t++;} if (k >n) /*如果k大于n,则使p的前部保留n个星号,其后的字符依次存入数组a中*/ {while(*p) {a[i]=*(p+k—n); i++; p++; } a[i]=’\0’; /*在字符串最后加上结束标识*/ } }
解析
字符串中前导*号不能多于n个,多余的应删除。首先需要通过while循环统计字符串前导*号的个数,然后通过if条件语句完成前导*号的个数和n的比较,如果前导*号多于n个,需要把n个*号和其余字符重新保留。
转载请注明原文地址:https://kaotiyun.com/show/1oxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
已知函数isaplha(ch)的功能是判断变量ch是否是字母,若是,则该数值为1,否则为0。下面程序执行后的输出结果是()。#include<ctype.h>#include<string.h>voidfun(cha
若有代数式(其中P仅代表自然对数的底数,不是变量),则下列能够正确表示该代数式的C语言表达式是()。
下面程序的运行结果是()。#defineP(A)printf("%d",A)main(){intj,a[]={1,2,3,4,5,6,7},i=5;for(j=3;j>1;j--){switch(j){cas
以下语句或语句组中,能正确进行字符串赋值的是()。
以下选项中可作为C语言合法常量的是()。
以下叙述中错误的是()。
人员基本信息一般包括:身份证号、姓名、性别、年龄等。其中可以作为主关键字的是()。
下列叙述中正确的是()。
下列叙述中错误的是()。
下面4个关于C语言的结论中错误的是()。
随机试题
在评定B类标准不确定度时,一般情况下,不可利用的信息包含________。
患者,男,45岁。以突起头痛、头晕、呕吐半小时急诊入院。查体:浅昏迷,呼吸有大蒜味,皮肤湿冷,双侧瞳孔缩小,双肺可闻及散在湿啰音,有肌颤。抢救该患者时,应该禁用治疗方法是
脑底动脉环不包括下列哪支动脉
经营者以低于成本价销售商品的行为,哪些不属于不正当竞争行为()
微型计算机使用的键盘上的Backspace键称为()。
有如下例题:你是否喜欢数学?如果用5、4、3、2、1分别代表从最喜欢到最不喜欢之间的5种程度,你选哪个数?说明理由.如果小明选择2,说明什么?如果小立比较喜欢数学,他最可能选几?该例题的编制意图是为了引导学生会用数来表示事件,并能进行交流,这是着眼于培养学
Thefollowingparagraphsaregiveninawrongorder.ForQuestions41-45,youarerequiredtoreorganizetheseparagraphsintoa
A.Ford’sFollowersB.TheAssemblyLineC.Ford’sGreatDreamD.TheEstablishmentoftheCompanyE.Ford’sBiggestContribut
Guamisdescribedas______Thetextismostlikelytakenfrom______
Itissaidthattheagreement______betweenthetwocompanieslastmonthwillbecomeeffectivefromMay1st.
最新回复
(
0
)