首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如, 字符串中的内容为:****A*BC*DE
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如, 字符串中的内容为:****A*BC*DE
admin
2019-03-19
74
问题
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。
例如, 字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG*******。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun(char *a, char *p)
{
}
main ()
{ char s[81],*t;
void NONO ();
printf("Enter a string:\n");
gets (s);
t=s;
while(*t)t++;
t-;
while(*t==’*’)t--;
fun(s , t);
printf("The string after
deleted: \n");puts (s);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调
用函数,输出数据,关闭文件。 */
FILE *in, *out ;
int i ; char s[81],*t ;
in = fopen("in.dat","r");
out = fopen("out.dat","w");
for(i = 0 ; i < 10 ; i++) {
fscanf(in, "%s", s);
t=s;
while(*t)t++;
t--;
while (*t==’*’) t--;
fun(s,t);
fprintf(out, "%s\n", s) ;
}
fclose(in);
fclose(out); }
选项
答案
char *q=a; int j=0; while(*q&&q
解析
(1)首先,主函数中使指针移到字符串的最后一个字符,对字符串由串尾开始进行操作。
(2)然后,指针由尾开始向头移动,查找第一个非“*”号字符,指针t指向后一个非“*”,即从最后一个非“*”,字符开始的字符都不需要删除,将前面的其他“*”号全部删除后,将尾部的“*”字符往前移动即可。
(3)确定了字符数组的最后一个字符非“*”后,调用fun函数,在fun函数中,将原串中由起始位置的字符开始到最后一个非“*”逐个查询该字符是否是“*”字符,如果是则删除,并将后面的字符往前移动;然后将t之后的字符移动到前面,最后在字符串的后面添加“’\0’”即可。
转载请注明原文地址:https://kaotiyun.com/show/KBRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面对C语言的描述中,正确的是
下面程序在屏幕上的输出是_______。main(){printf("ab\b\bc");}
下列程序的输出结果是______。longfun5(intn)(longs;if((n==l)‖(n==2))s=2;
若有定义和语句: intw[2][3],(*pw)[3];pw=w; 则对w数组元素的非法引用是()
若执行下述程序时,若从键盘输入6和8时,结果为main(){inta,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;
结构化分析方法是面向()的自顶向下逐步求精进行需求分析的方法。
设树T的度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1,则T中的叶子结点数为()。
以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。FILE*myf;longf1;myf=【】("test.t""rb");
若按功能划分,软件测试的方法通常分为白盒测试方法和【】测试方法。
随机试题
社会主义社会的改革指的是()。
A.腹水ADA增高B.腹水淀粉酶300U/LC.腹水SAAG20g/LD.乳糜腹水E.血性腹水结核性腹膜炎
A市甲企业欠乙企业货款200万元,由某城市银行A市支行提供担保。乙企业从丙处购得价值188万元的机床一台,和丙协商后以自己对甲的债权充抵机床价款,并征得了A市支行的同意。后甲在履行债务时和丙发生纠纷,丙向甲营业地C市法院提起诉讼,要求甲偿还债务。甲对丙的债
混凝土徐变会对构件产生哪些不利影响?[2001年第60题]Ⅰ.增大混凝土结构的变形Ⅱ.使大体积混凝土表面出现裂缝Ⅲ.在预应力混凝土构件中引起预应力损失Ⅳ.引起基础不均匀沉降
我国作业场所职业卫生的监督检查工作由()负责;职业卫生法律法规、标准的拟定,职业病预防、保健、检查和救治的规范工作由()负责。
在索赔资料准备阶段,主要工作有( )。
手工艺者工资的提高将使()。
德育过程是对学生知、情、意、行的培养提高过程,其实施顺序是()。
2001年底,我国民营企业的总户数约比2000年底增长了( )2001年底,我国民营企业户数超过20万户的省份有( )
Forthispart,youareallowed30minutestowriteanessaycommentingontheremark"Misfortuneratherthanprosperityhelpspe
最新回复
(
0
)