首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得
admin
2020-11-27
79
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是:“****ABCDEFG”。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
void fun(char*a)
{
}
main()
{char s[81];void NONO();
printf(’’Enter a string:\n’’);gets(s);
fun(s);
printf(’’The string after deleted:\n’’);puts(s);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE*in,*out;
int i;char s[81];
in=fopen(’’in.dat’’,’’r’’);
out=fopen(’’out.dat’’,’’w’’);
for(i=0;i<10;i++)
{
fscanf(in,’’%s’’,s);
fun(s);
fprintf(out,’’%s\n’’,s);
}
felose(in);
fclose(out);
}
选项
答案
void fun(char*a) { int i=0: chat*p=a; while(*p&&*p==’*’) { a[i]=*p; i++: p++; } while(*p) { if(*p!=’*’) {a[i]=*p;i++;} p++; } a[i]=’\0’; }
解析
函数fun的功能:除了字符串前导的*号之外,将串中其他*号全部删除。解答本题,(1)定义一个临时指针p,初始指向原串首地址;(2)利用循环语句把字符串前导t号拷贝到原串;(3)继续移动指针,把串中和串尾的非*号字符拷贝到原串;(4)为修改后的字符串赋结束字符’\0’。
要删除字符串中的指定字符,我们通常采用保留非指定字符的方法。可以将非指定字符保留在原串,即将需要保留的字符从原串的起始位置重新赋值;也可以保留到新串,即新建一个字符串,存放要保留的字符。
转载请注明原文地址:https://kaotiyun.com/show/qztp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序#includemain(){chara,b,c,d;scanf("%c%c",&a,&b);c=getchar();d=getchar();printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按下
若有以下定义和语句:#include<stdio.h>chars1[10]="abcd!",*s2="\n123\\";pfinff("%d%d\n",strlen(s1),strlen(s2));程序的运行结果是()。
有以下程序#include#defineN5#defineMN+1#definef(x)(x*M)main(){inti1,i2;i1=f(2);i2=f(1+1);printf("%d%d\n",i
下列选项中,能正确定义数组的语句是
有以下程序charfun(char*c){if(*c<=’Z’&&*c>=’A’)*c-=’A’-’a’;return*c;}main(){chars[81],*p=s;gets(s);while(*p){*p=fun(p);putch
要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是
某二叉树共有12个结点,其中叶子结点只有1个。则该二义树的深度为(根结点在第1层)
下列各项中不属于需求分析阶段任务的是()。
下面不属于软件需求规格说明书内容的是
下列选项中,不能用作标识符的是
随机试题
应聘事业单位工勤岗位的人员,应当具有()及以上学历。
肝硬化合并自发性腹膜炎的致病菌多为
左心室及外周血管超声造影,因造影剂必须通过毛细血管网,所有造影剂气泡直径必须小于
三陷证中之干陷型多发生于疽证第几候()
A.苏合香丸B.龙胆泻肝汤C.安宫牛黄丸D.紫雪丹E.黄连阿胶汤
下列容器中属于反应设备的有( )。
某税务师2008年2月对企,2007年的纳税情况进行审核,发现企业2007年12月份将福利部门领用的材料成本20000元计入生产成本中,由于企业生产产品成本已经进行了部分结转和销售,所以无法按照审核发现的20000元直接作为错账调整金额。2007年底企业
下列零售业态中,不适合连锁经营的是()。
下列选项中,危害行为和死亡结果之间存在刑法上的因果关系的有()。
一家连锁店需要设计一种编址方案来支持全国各个门店销售网络,门店有300家左右,每个门店一个子网,每个子网中的终端最多50台,该连锁店从ISP处得到一个B类地址,应该采用的子网掩码是__________。(2013年上半年试题)
最新回复
(
0
)