首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:****A*BC*DEF*G********,删除后,字符串中的内容应当是:ABCDE
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:****A*BC*DEF*G********,删除后,字符串中的内容应当是:ABCDE
admin
2013-04-02
39
问题
假定输入的字符串中只包含字母和*号。请编写函数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.daL”,”r”);
out=fopen(”out.dat”,”w”);
for(i=0;i<10 ; i++){
fscanf(in,”%s”,s);
fun(s);
fprintf(out,”%s\n”,s);
}
fciose(in);
fclose(out);
}
选项
答案
{ int j=0; char *p=a; while(*p){ if(*p !=’*’)a[j++]=*p; p++; } a[j]=’\0’; }
解析
(1)首先利用工作指针指向字符串,当指针不指向串尾时,就对字符串进行循环判断。
(2)在循环中利用if判断表达式,判断是字符是否为“*”,如果不是“*”将其拷贝到字符串,否则跳过“*”字符。
(3)所有字符处理完后,记得在新串s的末尾加上结束符“’\0’”。
转载请注明原文地址:https://kaotiyun.com/show/SJJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序: void sort(int a[],int n) { int i,j,t; for(i=0;i<n;i++) for(j=i+1;<n;j++) if(a[i]<a[j]){ t=a[
有以下程序: #include <stdio.h> main() {char c1=’1’,c2=’2’; c1=getchar();c2=getchar();putchar(c1);putchar(c2); }
以下叙述中错误的是 ______。
以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否贝愉出NO。当给a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个条件;a+b>c,a+c>b,b+c>a。请填空。main(){
有以下程序 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\
若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是______。
以下数组定义中错误的是______。
下列程序中的函数strcpy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。#includ
有以下程序,其功能是:以二进制“写”方式打开文件d1.dat,写入1~100这100个整数后关闭文件。再以二进制“读”方式打开文件d1.dat,将这100个整数读入到另一个数组b中,并打印输出。请填空。#include<stdio.h
设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值 10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:口代表空格字符)
随机试题
第二次鸦片战争到八国联军侵华战争期间西方列强迫使中国政府签订的不平等条约有________、________、________。
胃癌的治疗。
根据我国《选举法》规定,直接选举人大代表的行政区域有_________、__________、_________。
某女月经紊乱1年余,一般是O~40天/10~60天,量时多时少,妇科检查及B型超声波检查无异常,基础体温呈单相型,月经第1天子宫内膜检查呈增生期变化。其诊断是
抗压强度较高的铸铁不宜用作()。
流动比率反映的是()。
为了调查当前人们的识字水平,其实验者列举了20个词语,请30位文化人士识读,这些人的文化程度都在大专以上。识读结果显示,多数人只读对3到5个词语,极少数人读对15个以上,甚至有人全部读错。其中,“蹒跚”的辨识率最高,30人中有19人读对;“呱呱坠地”所有人
我国国有经济发挥的主导作用,主要体现在()
请在光标处插入一个单元格,并使活动单元格下移。
某注册会计师协会培训部的魏老师正在准备有关审计业务档案管理的培训课件,她的助手已搜集并整理了一份相关资料存放在Word文档“PPT素材.docx”中,按下列要求帮助魏老师完成PPT课件的整合制作:将标题为“七、业务档案的保管”所属的幻灯片拆分为3张,其
最新回复
(
0
)