首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编写函数fun,函数的功能是:从s所指的字符串中删除给定的字符。同一字母的大、小写按不同字符处理。 若程序执行时输入字符串为:turbo c andborlaM c++ 从键盘上输入字符:n,则输出后变为:turbo c ad borlad
编写函数fun,函数的功能是:从s所指的字符串中删除给定的字符。同一字母的大、小写按不同字符处理。 若程序执行时输入字符串为:turbo c andborlaM c++ 从键盘上输入字符:n,则输出后变为:turbo c ad borlad
admin
2013-04-02
21
问题
编写函数fun,函数的功能是:从s所指的字符串中删除给定的字符。同一字母的大、小写按不同字符处理。
若程序执行时输入字符串为:turbo c andborlaM c++
从键盘上输入字符:n,则输出后变为:turbo c ad borlad C++
如果输入的字符在字符串中不存在,则字符串照原样输出。
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
void fun(char s[],char c)
{
}
s
=’\0’;
}
NONO()
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
FILE *rf, *wf ;
char s[81], ch, w ;
int len ;
rf = fopen("in.dat","r");
wf = fopen("out.dat","w");
fgets(s, 80, rf);
fscanf(rf, "%c", &ch);
len = strlen(s) - 1 ;
w = s[len] ;
if(w == ’\n’ || w == 0x1a) s[len] = 0 ;
fun(s, ch);
fprintf(wf, "%s", s);
fclose(rf);
fclose(wf);
}
main()
{
static char str[]="turbo c and borland c++";
char ch;
printf("原始字符串:%s\n", str);
printf("输入一个字符:");
scanf("%c",&ch);
fun(str,ch);
printf("str[]=%s\n",str);
NONO();
}
选项
答案
{ char *p=s; int i=0; while(*p){ if(*p !=c)s[i++]=*p; p++; }
解析
进入fun函数,根据前面的分析:
(1)首先,设置一个指针变量指向字符串的头位置,并使用循环,依次查找字符串中的指定字符。
(2)若找到指定字符,则将后面位置的第一个非指定字符移到当前位置,并将其后的字符也依次前移。
(3)最后将处理的字符串输出。
转载请注明原文地址:https://kaotiyun.com/show/HJJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序运行后的输出结果是【 】。structNODE{intnum;structNODE*next;};main(){structNODEs[3]={{1,’\0’},{2,’\0’},{3,’0’}},*
以下程序运行后的输出结果是【 】。main(){inta=1,b=2,c=3;if(c=a),printf("%d\n",c);elseprintf("%d\n",b);}
以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下:ABCDEFGHIJKLMNO
以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。main(){inti,j;for(i=0;[];i++){j=i*10
下面程序的运行结果是:[]。fun(intt[],intn){inti,m;if(n=1)returnt[0];elseif(n>=2){m=fun(t,n-1);returnm;}
以下叙述中错误的是______。
有以下程序 main() { char *p[]={"3697","2548"}; int i,j; long num=0; for(i=0;i<2;i++) {j=
有以下程序 int fun(int x[],int n) { static int sum=0,i; for(i=0;i<n;i++) sum+=x[i]; return sum
有以下程序 main() {int a=0,b=0,c=0,d=0; if(a=1)b=1;c=2; else d=3; printf("%d,%d,%d,%d\
下面程序的功能是:将N行N列二维数组中每一行的元素进行排序,第0行从小到大排序,第1行从大到小排序,第2行从小到大排序,第3行从大到小排序,例如:#defineN4voidsort(inta[][N])
随机试题
男,35岁。患肠易激综合征5年,近1个月来排便困难,粪便于结,伴失眠、焦虑。不宜选用的治疗药物是()
在斗争中诞生、在斗争中发展、在斗争中壮大,一百年来,不怕牺牲、英勇斗争的伟大精神贯穿于革命、建设、改革各个时期,——成我们党历经百年风雨而风华正茂、饱经磨难而________的精神基因。依次填入画横线部分最恰当的一项是:
在夏秋季,一农民患者前来就诊,主诉近2周每隔1天上午10:00左右开始出现畏寒、高热、出汗,且高热有波动,约在下午3:00发作停止,备感疲惫。面黄体弱,贫血貌。实验室诊断发现新月形配子体,此时首选的药物是
全自动生化分析仪测定血浆载脂蛋白的方法是()。
甲公司是一家国有控股上市公司,采用经济增加值作为业绩评价指标。目前,控股股东正对甲公司2016年度的经营业绩进行评价。相关资料如下:(1)甲公司2015年末和2016年末资产负债表如下:(2)甲公司2016年度利润相关资料如下:(3)甲公司201
所有的公文中,()最具权威性和强制性。
人体在遇到寒冷时会触发一系列生理机制来应对,下列说法错误的是:
早期的计算机语言中,所有的指令、数据都用一串二进制数0和1表示,这种语言称为()。
Lookatthestatementsbelowandthecommentsoffourexpertsonasurveyaboutcoachingontheoppositepage.Whichexpert’
I’mgoingtohavetotaketheseclothesoff,forI’m______totheskin!
最新回复
(
0
)