首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。 例如,字符串中的内容为:“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是:“****A*BC*DEF*G”。在编
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。 例如,字符串中的内容为:“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是:“****A*BC*DEF*G”。在编
admin
2021-04-28
68
问题
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。
例如,字符串中的内容为:“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是:“****A*BC*DEF*G”。在编写函数时,不得使用C语言提供的字符串函数。
注意:部分源程序在文件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);
}
fclose(in);
fclose(out);
}
选项
答案
void fun(char*a) { wbile(*a!=’\0’) a++; a--;/*指针a指向字符串的尾部*/ while(*a==’*’) a--:/*指针a指向最后一个字母*/ *(a+1)=’\0’;/*在字符串最后加上结束标志符*/ }。
解析
本题考查:删除字符串尾部+号;删除的主要思想是把不删除的字符保留起来
对于一个字符串要删除其尾部的*号,只需要在最后一个不是*号的字符后面加上结束符号‘\0’。具体操作为:首先找到字符串的结尾,然后从最后一个字符开始往前逐个判断是否为*号,直到找到非*号字符为止,最后在该字符后面加上结束符号’\0’。
转载请注明原文地址:https://kaotiyun.com/show/HFtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下不合法的数值常量是()。
若有说明:typedefstruct{inta;charc;}}w;则以下叙述正确的是()。
以下程序的输出结果是()。#include#defineS(x)4*(x)*x+1voidmain(){intk=5,j=2;printf(’’’’%d\n’’,S(k+j));}
以下叙述中正确的是
当a=1、b=2、c=3、d=4时,执行下面程序段后,x的值是()。if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x:2;elsex=3;elsex
以下关于字符串的叙述中正确的是
设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)0的程序段是
要求通过while循环不断读入字符,当读入字*N时结束循环。若变量已正确定义,以下正确的程序段是
以下选项中不能作为C语言合法常量的是
设表的长度为n。下列算法中,最坏情况下比较次数小于n的是
随机试题
正常卵子受精的部位是
甲公司诉乙公司支付货款一案,乙公司在判决生效后未履行判决书所确定的义务,甲公司向法院申请强制执行。在执行过程中,乙公司提出目前暂时没有偿付能力,申请提供担保,对此,下列说法哪些是正确的?()
消防电梯井、机房与相邻电梯井、机房之间隔墙的耐火极限不应低于()。
常用的缓凝剂()的缓凝效果最好。
我国股票现货市场没有卖空机制,因此目前推出股指期货交易的条件尚不成熟。( )
某人目前有资金100万元,打算过8年让资金翻倍,也就是增值为200万元,他应将资金存在利率为()的金融品种上较为合适?
甲私刻乙公司的财务专用章,假冒乙公司名义签发一张转账支票交给收款人丙,丙将该支票背书转让给丁,丁又背书转让给戊。当戊主张票据权利时,下列表述中正确的是()。
A.近端小管B.髓袢降支细段C.髓袢升支细段D.髓袢升支粗段小管液重吸收率与肾小球滤过率具有等比关系的部位是
患者,男性,39岁,双侧颞下颌关节区弹响、不适2年多,明显加重1周。近来因家事繁多,精神紧张,睡眠差并出现紧咬牙,自觉肌肉酸痛。临床检查示:精神忧虑,张口度38mm,张口型偏摆不定,右侧关节张口末及左侧开口初弹响,嚼肌、颞肌、翼外肌触痛。右侧上下第7、第8
孙先生的所有朋友都声称,他们知道某人每天抽烟至少两盒,而且持续了40年,但身体一直不错。不过可以确信的是,孙先生并不知道有这样的人,在他的朋友中也有像孙先生这样不知情的。根据以上信息。可以得出以下哪项?
最新回复
(
0
)