首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做处理。字符串中间和尾部的*号不删除。 例如,字符串中的内容为“*******A*BC*DEF*G*
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做处理。字符串中间和尾部的*号不删除。 例如,字符串中的内容为“*******A*BC*DEF*G*
admin
2017-09-23
41
问题
规定输入的字符串中只包含字母和*号。请编写函数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全国计算机二级
相关试题推荐
下述程序的输出结果是()。#include<stdio.h>voidmain(){inta[5]={1,2,3,4,5};int*p=a,**q=&p;printf("%d",*(p++));pr
若变量都已正确说明,则以下程序段输出结果为()。#include<stdio.h>main(){chara=’a’;intb=2;printf(a>b?”***a=%d":"###b=%d",a,B;
数据结构分为线性结构和非线性结构,带链的队列属于()。
函数rewind(fp))的作用是()。
可在C程序中用作用户标识符的一组标识符是()。
下列选项中,不属于数据模型所描述的内容的是()。
“printf("%d\n",strlen("\t\"\023\xAB\nC"));”语句的输出结果是()。
下列数据结构中,能用二分法进行查找的是()。
若整型变量a、b、c、d中的值依次为1、4、3、2。则条件表达式a<b?a:c<d?c:d的值是()。
C语言中规定,程序中各函数之间()。
随机试题
当溶液中有两种离子共存时,欲以EDTA溶液滴定M而N不受干扰的条件是()。
关于交界性期前收缩的描述,正确的是
同一类传染病患者住同一病房,床距应保持在()。
夏、秋季节海产鱼、虾中检出率较高的致病菌是()。
在叶绿体色素提取和分离实验中,收集到的滤液绿色过浅,其原因可能是()。①未加石英砂、研磨不充分②一次加入大量的无水酒精提取③分次加人少量无水酒精提取④使用放置数天的菠菜叶
2012年.全国国内旅游人数29.57亿人次,比上年增长12.0%。其中,城镇居民19.33亿人次。2012年,全国国内旅游收入22706.22亿元人民币,比上年增长17.6%。2012年全年入境外国游客人数比上年增长0.3%,其中,亚洲市场入境人数166
“眼不见,心不烦”“掩耳盗铃”等都是()的表现。
下列科技常识中,错误的是()。
下列关于折现现金流估值法的表述正确的是()。
用马克思主义哲学有关原理对漫画中所反映的工作方式进行辨析。
最新回复
(
0
)