首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编写函数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
19
问题
编写函数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全国计算机二级
相关试题推荐
已知字符A的ASCII码为65,以下程序运行后的输出结果是【 】。main(){chara,b;a=’A’+’5’-’3’;b=a+’6’-’2’;printf("%d%c\n",a,b);}
在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中【 】的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
有以下程序: #include <string.h> main() {char p[]={’a’,’b’,’c’},q[10]={’a’,’b’,’c’}; printf("%d%d\n",strlen(p),strlen(q)
设有定义int k=1,m=2;float f=7;,则以下选项中错误的表达式是 ______。
以下叙述中错误的是 ______。
有以下程序 main() {int i,s=0,t[]={1,2,3,4,5,6,7,8,9 }; for(i=0;i<9;i+=2) s+=*(t+i); printf("%d\
有以下程序 main() {int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i-0;i<3;i++) printf("%d",t[2-i][i]); }
有以下程序 int fun1 (double a){return a*=a;} int fun2 (double x,double y) { double a=0,b=0; a=fun1
以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。 void f(int b[],int n,int flag) { int i,j,t; for(i=0;i<n-1;i++)
随机试题
在寄存器寻址方式中,指定寄存器中存放的是________。
朱熹认为“德”、“礼”、“政”、“刑”,相为始终,循环运动,正确的路线是()
疔疮生于手指甲后的称()疔疮症见一指通肿,指微屈而难伸的称()
不良反应报表中最重要的内容是
关于“学习”有两种观点:其一,“人之岁月精神有限,诵说中度一日,习行中错一日;纸墨上多一分,身世上少一分。”其二,“教人必欲使其读尽天下书,将道全看在书上,将学全看在读上。”这两种观点没有处理好()。
根据下面资料回答以下问题
假如你是某市政府的干部,请根据“给定资料”,结合当地实际,就如何严刹公款吃喝之风拟发一份通知。要求:条理清楚,全面准确,不超过400字。(2013.湖南地勘局事业单位考试.第四题.1)【给定资料】“2013年春节,接待和聚餐的压力明显小
民国时期,对微分几何学的研究做出重要贡献的数学家是()。
在窗体上画一个名为Commandl的命令按钮,然后编写如下代码:OptionBase1PrivateSubCommandl_Click()Dimaa=Array(1,2,3,4):j=1Fori
Americansthisyearwillswallow15000tonsofaspirin(阿斯匹林),oneofthesafestand【C1】______drugs【C2】______byman.Themostpop
最新回复
(
0
)