首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于
admin
2018-10-21
19
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数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 n)
{
}
void 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;/*开始时,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://www.kaotiyun.com/show/00xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若ch为char型变量,k为int型变量(已知字符a的ASCII码是97),则执行下列语句后输出的结果为()。ch=’b’;k=10;printf("%x,%o,",ch,ch,k);printf("k=%%d\n"
关系数据库的概念模型是______的集合。
以下程序的运行结果是___________。main(){inta=1,b=2,c;if(a>b)c=1;elseif(a==b)c=0;elsec=-1:printf(“%
有以下程序main(){union{unsignedintn;unsignedcharc;}ul;u1.C=’A’;pfintf("%c\n",u1.n);
设有如下变量定义:doublea=3.500000;floatb=2.5;intm=2,n=3;则表达式“(float)(m+n)/2+(int)a%(int)b”的值是()。
在C语言中引用数组元素时,其数组下标的数据类型只能是()。
有以下程序:intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intX;scanf("%d",&x);x=fun(x);printf("%
执行以下程序段的输出结果是()。intm=0x12,n=0x12;m=m-n;printf("%X\n",m);
数据的存储结构是指()。
表示“整数x的绝对值大于5”时值为“假”的C语言表达式是______。
随机试题
化三重积分f(x,y,z)dv为三次积分,其中积分区域Ω分别为由椭圆抛物面z=x2+2y2及抛物柱面z=2-x2所围成的闭区域;
图中标志的含义是表示车辆向右行驶。
与英国法相比,美国法的特点包括()
按崩解时限检查法检查,下列片剂应在多少时间内崩解A.30分钟B.15分钟C.60分钟D.5分钟E.20分钟普通片剂
属阿片受体激动药的是
在土地出让合同约定的动工开发期限满2年尚未动工的土地使用权,可以处以()。
下列()促销手段只在短期内有效,如果时间长了或过于频繁,容易引起消费者的怀疑和不信任感。
金融是现代生活中不可缺少的经济内容之一,深入千家万户,人们常常看到多种多样的金融现象,也有多种多样的理解说法。阅读以下金融现象,选择正确答案。在实际生活中假现金的现象时常发生,人们对假现金深恶痛绝又防不胜防。为什么现金有假的而银行存款没有假的呢?(
TrafficisaperennialprobleminHongKong.Overtheyearsmanysuggestionshavebeen【C1】______toeasetransportdifficulties.
HealthInsurance(保险)MostAmericansareresponsiblefortheirownmedicalcosts.Thesecanbeextremelyhighifapersonge
最新回复
(
0
)