首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做处理。字符串中间和尾部的*号不删除。 例如,字符串中的内容为“*******A*BC*DEF*G*
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做处理。字符串中间和尾部的*号不删除。 例如,字符串中的内容为“*******A*BC*DEF*G*
admin
2017-09-23
28
问题
规定输入的字符串中只包含字母和*号。请编写函数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://jikaoti.com/ti/qTa0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序运行时若从键盘输入:102030<回车>。输出结果是()。#include<stdio.h>main(){inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);pri
以下程序的输出结果是()。#inciude<stdio.h>main(){chars[]="ABCabc";s[5]=’\0’;printf("%s\n",s);}
在一介C源程序文件中,要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使削的存储类别是()。
以下程序的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。请填空。#include<stdio.h>main(){longs,t,s1=10;pfintf("\n.Pleas
若要求从键盘读入含有窄格字符的字符串,应使用函数()。
有下列程序:main(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n
下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。
数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是()。
随机试题
在美国风湿病学会(ACR)1997年推荐的SLE分类标准中,不包括的是
营养性缺铁性贫血,服用铁剂的时间应至
护理专业应届毕业生甲已经完成了国务院教育主管部门和卫生主管部门规定的全日制4年护理专业课程学习,本人拟申请护士执业注册。不属于申请护士执业注册的条件是
变额寿险与万能寿险最根本的区别在于()。
2012年1月1日,甲公司发行5年期一次还本、分次付息的可转换公司债券400万元。票面年利率为6%,利息按年支付,发行价格为460万元,另发行交易费用40万元。债券发行1年后可转换为普通股股票。经计算,该项可转换公司债券负债成份的公允价值为379.5万元。
教师依据记忆规律组织学生复习,下列做法正确的是()。
所谓垄断,是指少数资本主义,为了获得高额利润,通过相互协议或联合,对一个或几个部门商品的生产、销售和价格,进行操纵和控制。垄断产生的原因包括()。
Themainideaofthepassageisabout______.Accordingtotheauthor,mostoftheworld’sfreshwateristobefoundin______
Itisuniversallyacknowledgedthattreesare______tous.
American’sgeniuswithhightechnologymayhaveputmenonthemoon,butthereisgrowingskepticismaboutitsabilitytosolve
最新回复
(
0
)