首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编写函数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
15
问题
编写函数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://jikaoti.com/ti/Snn0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中【 】的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
有以下程序: #include <string.h> struct STU (char name[10]; int num; }; void f(char *name, int num) {struct
有以下程序: main() {int k=5,n=0; while(k>0) {switch(k) { default:break; case 1:n+=k; case 2:
以下程序的输出结果是[]。main(){inta[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;for(i=0;i<3;i++)s+=-a[i][i]+a[i][3-i
以下叙述中错误的是______。
以下叙述中错误的是______。
有以下程序 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\
在深度为7的满二叉树中,叶子结点的个数为______。
程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针向链表的第—个结点。若有以下程序段 q=s; s=s->next; p=s; while(p->next) p
以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。 void f(int b[],int n,int flag) { int i,j,t; for(i=0;i<n-1;i++)
随机试题
义项
支气管肺炎的炎症属于
Whatisthenatureofthescientificattitude,theattitudeofthemanorwomanwhostudiesandappliesphysics,biology,chemis
治疗胆绞痛宜选用
《城市规划强制性内容暂行规定》规定,城市详细规划的强制性内容不包括()。
某银行推出某种贷款品种,该品种的利率每月根据市场利率调整一次,则该贷款属于()贷款。
公文的收文办理环节不包括()。
虽然我们已经改革了好几项规章制度,但至今还有一些规章制度不合理,需要改革。
水平一体化物流是指同一行业的多个企业,通过共同利用物流渠道,获得规模经济效益、提高物流效率。水平一体化物流须具备物流需求和物流供应的信息平台,要有大量企业参与并存在较多的商品量。根据上述定义,下列选项属于水平一体化物流的是()。
A、Itcandoeverythingonecanpossiblyimagine.B、Itwillsurpasshumanintelligence.C、Itwillreplacehumanintelligenceone
最新回复
(
0
)