首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串中尾部的*号不多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做任何操作,字符串中间和前面的*号不删除。 例如,字符串中的内容为“****A*BC*DEF*G**
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串中尾部的*号不多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做任何操作,字符串中间和前面的*号不删除。 例如,字符串中的内容为“****A*BC*DEF*G**
admin
2017-09-23
29
问题
规定输入的字符串中只包含字母和*号。请编写函数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/Isxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列函数从字符数组s[]中删除和c一样的字符,请在下面横线处填空。voiddelete(s,C)chars[],c;{inti,j;for(i=j=0;();i++)if(s[i]!=’c’)s[j++]=
有以下程序:#include<stdio.h>main(){inti=0,a=0;while(i<20){for(;;){if((i%5)==0)break;elsei--;}i+
设函数中有整型变量a,为保证其在未赋初值的情况下初值为0,应选择的存储类别是()。
下面程序运行后的输出结果是()。#include<stdio.h>main(){inta[5]={1,0,4,2,0},b[5]={1,2,3,4,5},i,s=0;for(i=0;i<5;i++)s=s+b[a[
一名学生只能住一间宿舍,一间宿舍可住多名学生,则实体“宿舍”与实体“学生”的联系属于()的联系。
下面程序将二维数组a的行和列元素互换后存放到另一个二维数组b中,请填空。main(){inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;for(i=0;i<2;i++){for(j=0;j<3;j++)
以下函数定义的类型符是()。fff(doublex){printf("%f",x+x);}
已知一个文件中存放若干工人档案记录,其数据结构如下:structa{charnumber[100];intage;floatp[6];};定义一个数组:structanumber[10];
字符串"\\"ABCDEF\"\\”的长度是()。
随机试题
预防火灾爆炸事故的基本原则是:防止和限制燃烧爆炸的危险因素;当燃烧爆炸物不可避免时,要尽可能消除或隔离各类点火源;阻止和限制火灾爆炸的蔓延扩展。尽量降低火灾爆炸事故造成的损失。下列预防火灾爆炸事故的措施中,属于阻止和限制火灾爆炸蔓延扩展原则的是(
当外界温度低于体表温度时,机体的散热方式是
腰椎间盘突出症与椎管内肿瘤最有意义的鉴别检查方法是
下列关于公信力的叙述错误的是()。
设直线方程为,则直线:
()是由水源、供水设备、管道、雨淋阀组、过滤器和水雾喷头等组成,向保对象喷射水雾灭火或防护冷却的灭火系统。
毛泽东《登庐山》一诗的首联是()。
调号相同的调称为()。
从世界范围看,和平的国际环境和良好的周边关系可望继续保持,我国仍有可能集中力量进行经济建设。世界科技进步和产业结构的调整,亚太地区经济的迅速增长,给我国经济发展提供了有利的条件。在我国中长期发展中,也有不少制约因素。突出的是:人口和就业负担较重,人均资源相
计算曲面积分其中∑是曲面2x2+2y2+z2=4的外侧.
最新回复
(
0
)