首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于
admin
2018-10-21
29
问题
使用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全国计算机二级
相关试题推荐
若已定义c为字符型变量,则下列语句中正确的是()。
下面程序的输出是【】。main(){enumem{em1=3,em2=l,em3};char*aa[]={"AA","BB","CC","DD"};printf("%s%s\n",aa[eml],aa[em2],a
实现算法所需的存储单元多少和算法的工作量大小分别称为算法的【】。
有以下程序main(){union{unsignedintn;unsignedcharc;}ul;u1.C=’A’;pfintf("%c\n",u1.n);
有以下程序:main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p);}程序运行后的输出结果是()。
若有如下程序:main(){inta=1,b=1;for(;a<=10;a++){if(b>=9)break;if(b%3==1){b+=3;continue;}b++;}p
s1和s2已正确定义,并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;,则以下选项正确的是______。
表示“整数x的绝对值大于5”时值为“假”的C语言表达式是______。
下列程序的运行结果是______。voidfun(int*a,int*B){int*k;k=a;a=b;b=k;}main(){inta=3,b=6,*x’&a,*y
随机试题
箱形梁主要用于同时受到水平和垂直弯矩或扭矩作用时的工作状况。()
左心室增大可呈现以下X线征象,但除外
下列属于带下过多的病机是
下列属于柔性防水施工的有()。
塑料制个人用烟盒
若两个不同公司的甲车和乙车在行驶中发生相撞。甲车车辆损失5000元,车上货物损失10000元,乙车车辆损失4000元,车上货物损失5000元。交通管理部门裁定甲车负主要责任,承担经济损失70%;乙车负次要责任,承担经济损失30%。这两辆车都投保了车辆损失险
采用标准法计量操作风险监管资本时,公司金融这类业务条线的操作风险资本要求系数β为()。
下列不属于《义务教育化学课程标准(2011年版)》规定的基础学生实验的是()。
不等式(1-|x|)(1+x)>0成立。(1)|x|<1(2)r<-1
若有以下程序typedefstructstu{charname[10],gender;intscore;)STU;voidf(char*P){strcpy(P,"Qian");}main(){STUa={"Zhao
最新回复
(
0
)