首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用c语言提供的字符串函数。 例如,字符串中的内容为:****A*BC*DEF*G******,删除后,字符串中的
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用c语言提供的字符串函数。 例如,字符串中的内容为:****A*BC*DEF*G******,删除后,字符串中的
admin
2013-04-02
79
问题
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用c语言提供的字符串函数。
例如,字符串中的内容为:****A*BC*DEF*G******,删除后,字符串中的内容应当是:****ABCDEFG。
注意:部分源程序在文件PROGl.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=a; while(*p&&*p==’*’) { a[i]=*p; i++; p++; } while(*p) { if(*p!=’*’) { a[i]=*p; i++; } p++; } a[i]=’\0’; }
解析
(1)首先,使用一个指针p指向串的起始位置,然后对指针p指向的字符进行判断,并且如果是“*”,将其拷贝到字符串,这样确定了由头开始的第一个非“*”的位置。
(2)然后,在循环过程中对由第一个非“*”字符起始到串尾的字符进行判断,如果不是“*”就将其拷贝到字符串a,否则跳过。
(3)最后,在新生成的字符串尾加’\0’。
转载请注明原文地址:https://kaotiyun.com/show/2xJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序 #include <stdio.h> #define N 5 #define M N+1 #define f(x) (x*M) main()
若有定义语句:int k[2][3],*pk[3];,则以下语句中正确的是______。
有以下程序 main0 {int a=l,b=3,c=5; int *p 1 =&a,*p2--&b,*p=&c; *p-~pl*(*p2); print~"%dXn",c); }
有以下程序 struct S { int n;int a[20];}; void f(int *a,int n) { int i; for(i=0;i<n-1;i++)a[i]+=i; } main() { i
有以下程序 typedef struct{int b,p;}A; void f(A c)/* 注意:c是结构变量名 */ { int j; c.b+=1;c.p+=2; } main() { int i;
设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是
下面选项中不属于面向对象程序设计特征的是
下列叙述中正确的是
设有说明:inta=1,b=0;,则执行以下语句的输出结果是______。switch(a){case1:switch(b){case0:printf("**0**\n");break;
有以下定义和语句,则sizeof(A)的值是【】,而sizeof(a.share)的值是【】。structdate{intday;intmouth;intyear;
随机试题
一男性患者35岁,3天前受凉后头痛,畏寒,继而高热,咳嗽,咯铁锈色痰,左侧胸痛,气急不能平卧,X线检查:左肺下叶可见大片阴影。应诊断为
方程z2+y2+z2一4y一1=0表示()。
费用扣除不包括( )。
(2017年)甲公司编制销售预算的相关资料如下:资料一:甲公司预计每季度销售收入中,有70%在本季度收到现金,30%于下一季度收到现金,不存在坏账。2016年年末应收账款余额为6000万元。假设不考虑增值税及其影响。资料二:甲公司2017年的销售预算
(2013年)2006年2月,甲、乙、丙、丁四人共同出资设立文路留学服务有限责任公司(以下简称“文路公司”)。四名股东的出资比例依次是35%、30%、25%和10%。甲担任公司执行董事、总经理;公司不设监事会,丙任监事。(1)2007年2月,丙提出,甲在
下列四种现象中,可以由如图表示的是()。
以下有关文学常识的表述,错误的一项是()。
设有窗体的Form_MouseMove事件过程如下:PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)If(ButtonAnd
下列有语法错误的赋值语句是
HighwaysintheUSTheUnitedStatesiswell-knownforitsnetworkofmajorhighwaysdesignedtohelpadrivergetfromoneplac
最新回复
(
0
)