首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和*号。请编写函数fun。它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。 例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****A*BC*DEF*G。
假定输入的字符串中只包含字母和*号。请编写函数fun。它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。 例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****A*BC*DEF*G。
admin
2013-03-29
60
问题
假定输入的字符串中只包含字母和*号。请编写函数fun。它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****A*BC*DEF*G。在编写函数时,不得使用C语言提供的字符串函数。
注意:部分源程序在文件PROGI.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 i=0; char*p,*q; p=q=a; while(*p) p++; p一一; while(*p==’*’) p--; while(q<=p) { a[i]=*q; i++; q++; } a[i]=’\0’;
解析
(1)首先,使用一个指针p指向串尾,然后对指向串尾的指针p指向的字符进行判断,如果是"*",指针p就跳过,这样来设置一个指针变量q指向字符串的头位置。
(2)然后,将由字符串起始到最后一个字母之间的字符拷贝到字符串a。
(3)最后,在新生成的字符串尾加’\0’。
转载请注明原文地址:https://kaotiyun.com/show/OXJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列关于C语言数据文件的叙述中正确的是
下列程序的输出结果为main(){unionu{char*name;intage;intincome;}ss.name="WANGLIONG";
有如下程序main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];
对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为______。
在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值11,所需的关键码比较次数为______。
定义长度为12的数组,下面四种方法中正确的有【】。①intx[12];②intn=12;③constintn=12;④intx[]={1,2};int
函数调用语句;fseek(fp,-20L,SEEK_END);的含义是()
以下程序段给数组所有的元素输入数据,请选择正确答案填入。()#inelude<stdio.h>main(){inta[10],i=0;while(i<10)scanf("%d",______);
在程序设计阶段应该采取【】和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。
随机试题
在得到很多细节前,我想我应该避免跟他说话。
根据《药品管理法》和《处方管理办法》规定,第二类精神药品处方的最大量为
在下列药物中,治疗风寒、风热感冒均可选用的药物是
创造“人本主义”治疗的学者是
A.玻片凝集法B.试管凝集法(肥达试验)C.抗球蛋白试验(Coombs试验)D.间接乳胶凝集试验E.免疫比浊法
生产、销售假药,足以严重危害人体健康的生产、销售假药,对人体健康造成严重危害的
工程监理企业资质证书的有效期为()年。
法律对利润分配进行超额累积利润限制主要是为了避免资本结构失调。()
预付费陷阱指商家以打折促销手段吸引顾客预付服务费用,但在后续服务中不按照约定内容提供服务的现象。根据上述定义,下列不属于预付费陷阱的是:
A、Heavydrinking.B、Cancer.C、Heartdisease.D、Insomnia.B
最新回复
(
0
)