首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于
admin
2018-10-21
18
问题
使用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://kaotiyun.com/show/00xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
要求以下程序的功能是计算main(){intn;floats;s=1.0;for(n=10;n>1;n--)s=s+1/n;pfintf("%6.4f\n",s);}程序
以下关于字符串的叙述中正确的是()。
下列能正确进行字符串赋值的是()。
已经定义ch为字符型变量,以下赋值语句中错误的是______。
设有如下变量定义:doublea=3.500000;floatb=2.5;intm=2,n=3;则表达式“(float)(m+n)/2+(int)a%(int)b”的值是()。
若有如下程序:main(){inta=1,b=1;for(;a<=10;a++){if(b>=9)break;if(b%3==1){b+=3;continue;}b++;}p
有如下说明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是______。
以下程序的输出结果是()。#include<stdio.h>main(){inta=21,b=11;printf("%d\n",--a+b,--b+a);}
以下程序执行后x的值是main(){intx,y=252,i=386,*m=&y,*z=&i;x=(z==y);printf("%d",x);}
如下程序的输出结果是______。main(){staticinta[4]={1,2,3,4};int**k,*j;j=a+1;k=&j;printf("%d\n",*(*k+2));
随机试题
A、Peopleshoulddomorerunningthanmerewalking.B、Runningisthebestexerciseforextendingone’slife.C、Peopleshouldexer
以不衰减形式沿细胞膜传播的电压动是
面部的“危险三角区”是指
院内感染所致肺炎中,主要病原体是
甲、乙、丙、丁四家公司与杨某、张某拟共同出资设立一注册资本为400万元的有限责任公司。除杨某与张某拟以120万元货币出资外,四家公司的下列非货币财产出资中,符合公司法律制度规定的是()。
有一5年期债券,面值100元,每年付息两次,票面利率为6%,到期时一次还本。假设市场利率为10%,则发行价格为()元。(已知:(P/A,5%,10)=7.7217,(P/F,5%,10)=0.6139)
以下行为属于侵犯教师权利的是()。
有以下程序:#includeimf(intn){intt=0,a=5;if(n/2){inta=6;t+=a++;}else{inta:7;t+=a++;}retur
GymCrazeI.ThegymcrazebecomesChinese【T1】______.【T1】______A.asignof【T2】______.【T2】______B.gym-goersinclude:-
GPSA)TheGlobalPositioningSystemisa.space-basedtriangulationsystemusingsatellitesandcomputerstomeasurepositi
最新回复
(
0
)