首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。例如,字符串中的内容为:*******A*BC*DEF*G****,删除后,字符串中的内容应当是:A*BC*DEF*G****。在编写函数
规定输入的字符串只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。例如,字符串中的内容为:*******A*BC*DEF*G****,删除后,字符串中的内容应当是:A*BC*DEF*G****。在编写函数
admin
2017-11-27
72
问题
规定输入的字符串只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。例如,字符串中的内容为:*******A*BC*DEF*G****,删除后,字符串中的内容应当是:A*BC*DEF*G****。在编写函数时,不得使用C语言提供的字符串函数。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
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) ; }
fclose(in); fclose(out); }
选项
答案
int j=0; char *p=a; while(*p==’*’)p++; while(*p){ a[j++]=*p; p++;} a[j]=’\0’;
解析
(1)首先,使用一个指针p指向串的起始位置,然后对指针p指向的字符进行判断,并且如果是“*”,那么跳过该字符,这样确定了由头开始的第一个非“*”的位置。
(2)然后,在循环过程中将第一个非“*”字符起始到串尾的字符拷贝到字符串a。
(3)最后,在新生成的字符串尾加’\0’。
转载请注明原文地址:https://kaotiyun.com/show/w6xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序运行后的输出结果是()。main(){intx,a=1,b=2,c=3,d=4;{intx,a=1,b=2,c=3,d=4;x=(a<B)?a:b;x=(a<C)?x:C;x=(d>x)?x:d;
有以下程序:maln(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}程序执行后的输出结果
有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向此链表中的三个连续节点。structnode{intdata;structnode*next;}*P,*q,*r;现要将q所指节点从链表中删除,同时要保持链表的连续,
当用户要求输入的字符串中含有空格时,应使用的输入函数是()。
有以下程序:main(){inti=1,j=2,k=3;if(i++==l&&(++j==3||k++==3))printf("%d%d%d\n",i,j,k):}程序运行后的输出结果是()
对于一个正常运行的C语言程序,以下叙述中正确的是()。
设有以下程序段structMP3{charname[20];charcolor;floatprice;}std,*ptr;ptr=&std;若要引用结构体变量std中的color成
设有如下定义语句intm[]={2,4,6,8,10},*k=m;以下选项中,表达式的值为6的是
已知下列函数定义:fun(int*b,intc,intn,intdata){irak;for(k=0;k
以下有4组用户标识符,其中合法的一组是()。
随机试题
斜圆锥管展开图的画法分为五步,即求圆锥顶点、画底断面1/2、画主视图、求各线实长及画展开图的1/2。()
呼吸链
关于慢性肾衰竭肾贮备能力下降期,下列哪些是正确的
20岁男性患者,慢性粒细胞白血病,拟行同胞异基因造血干细胞移植进行HLA配型,HLA基因位于
【背景资料】某公司中标一座地铁车站工程,车站基础全长约212m,宽度21m,开挖深度为16m,采用明挖法施工。围护结构为地下连续墙,采用锁口管接头;设三道φ609钢管支撑。场地土层自上而下分别为填土、黏土和粉土地层。地下水位于地表下1m左右。基坑北侧有三
如持有人对瑕疵凭证的取得提供合理叙述,而金融机构否认存款关系存在的,()应当对存款关系是否存在负举证责任。
Hehadabadcold.______iswhyhedidn’tcome.
面向对象方法中,实现对象的数据和操作结合于统一体中的是
Itwas(when)shewas(about)(togo)tobed(while)thetelephonerang.
TheAmericanDream:MythorReality?Thoughtheterm"AmericanDream"iswidelyusedtoday,thereexistmanyproblemswese
最新回复
(
0
)