首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串中尾部的*号不多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做任何操作,字符串中间和前面的*号不删除。 例如,字符串中的内容为“****A*BC*DEF*G**
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串中尾部的*号不多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做任何操作,字符串中间和前面的*号不删除。 例如,字符串中的内容为“****A*BC*DEF*G**
admin
2018-03-28
11
问题
规定输入的字符串中只包含字母和*号。请编写函数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+1) /*把字符保存到数组a中*/ {a[i]=*p; i++;p++; } a[i]=’\0’; } }
解析
本题考查:循环判断语句;字符串的操作。
字符串中尾部*号不能多于n个,多余的要删除。首先需要通过while循环统计字符串尾部*号,然后通过if条件语句完成尾部*号数和n的比较,若尾部*号数多于n个,则需要把n个*号和其余字符重新保留。
转载请注明原文地址:https://kaotiyun.com/show/pxxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若程序中定义了以下函数:doublemyadd(doublea,doubleB){return(a+B);}并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是______
若有以下定义和语句,sizeof(a)的值是【】,sizeof(a.share)的值是【】。structdate{intday;intmonth;intyear;union{intshare1;
排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、【】和选择排序等。
执行下列程序时输入12345678,程序的运行结果是______。 #include<stdio.h> main() { int x,y; scanf("%2d%2d"); printf("%d\n",x+y); }
函数rewind的作用是
下列叙述中,正确的是
设有如下宏定义#defineMYSWAP(z,x,y){z=x;x=y;y=z;}以下程序段通过宏调用实现变量a,b内容交换,请填空。floata=5,b=16,c;MYSWAP(【】a,b);
设有如下定义structss{charname[10];intage;charsex;}std[3],*p=std;下列各输入语句中错误的是_______。
下列叙述中正确的是()。
以下叙述中正确的是()。
随机试题
油缸两端的泄漏不等或单边泄漏,油缸两端的排气孔不等以及油缸两端的活塞杆弯曲不一致都会造成工作台低速爬行。()
下列关于社区健康教育的描述中,哪项是错误的
脾破裂术前最重要的治疗措施是
合同法中的()是合同自由的具体体现。
某冷库需要建设一套两级压缩制冷装置,拟采用R22为制冷剂。设计条件为制冷量Q0=150kW,冷凝温度tk=40℃,蒸发温度t0=-40℃,采用有回热器的中间不完全冷却循环,中间冷却温差Δtt=4℃,回热器热端温差Δt2=8℃,假定循环的中间温度tm=-5℃
在道氏股价波动理论中,股票价格有三种运动趋势。在三种运动趋势中,投资者最关心的是()
以下属于基金信息披露的禁止行为的有( )。
下列选项中,不属于ISO10006标准组成部分的是________。
下列关于“典型”的发展阶段,说法不正确的是()。
下面选项中的四个“盒子”,能够由左边给定的图形做成的是()。
最新回复
(
0
)