首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:“****A*BC*DEF*G*******”,删除后,字符串中的内容
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:“****A*BC*DEF*G*******”,删除后,字符串中的内容
admin
2020-11-27
35
问题
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是:“****ABCDEFG”。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
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);
felose(out);
}
选项
答案
void fun(char*a) { 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’; }
解析
函数fun的功能:除了字符串前导的*号之外,将串中其他*号全部删除。解答本题,
(1)定义一个临时指针p,初始指向原串首地址;
(2)利用循环语句把字符串前导*号拷贝到原串;
(3)继续移动指针,把串中和串尾的非*号字符拷贝到原串;
(4)为修改后的字符串赋结束字符‘\0’。
转载请注明原文地址:https://jikaoti.com/ti/IpD0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有定义:intx=11,y=12,z=0;,以下表达式值不等于12的是()。
有以下程序#include#includevoidfun(char*w,intm){chars,*p1,*p2;p1=w;p2=w+m-1;while(p1
有以下程序,程序运行后的输出结果是main(){chara=’H’;a=(a>=’A’&&a<=’Z’)?(a+32):a;pfintf("%c\n",a);}
若有定义语句:chars[10]="1234567\0\0";,则strlen(s)的值是
若有定义语句:inta,b,c,*p=&c;,接着执行以下选项中的语句,则能正确执行的语句是()。
设有定义:char*c;以下选项中能够使c正确指向一个字符串的是
以下选项中,合法的一组C语言数值常量是()。
下列对于软件测试的描述中正确的是
设顺序表的长度为16,对该表进行简单插入排序。在最坏情况下需要的比较次数为
对长度为n的线性表作快速排序,在最坏情况下,比较次数为()。
随机试题
氟元素含量过高的地区人畜常易患“克山病”。[]
8岁患儿,胸骨左缘第3、4肋间听到响亮而粗糙的收缩期杂音,应考虑为
用大承气汤治疗热结旁流证,属于()。
某公司公用托收承付结算方式向甲公司销售商品一批,货款50000元,增值税税额为8500元,以银行存款代垫运杂费1000元,已办受托收手续。下列账务处理中,错误的有()。
地方政府为发展本地区经济,保护本地区企业,可采取( )措施。
下列各项中,不应暂停借款费用资本化的是()。
椭圆:=1(a>B>0)的右焦点为F,其右准线与x轴的交点为A,在椭圆上存在点P满足线段AP的垂直平分线过点F,则椭圆离心率的取值范围是()
过度学习的量控制在()是相对合理又经济的。
Peoplehavespeculatedforcenturiesaboutafuturewithoutwork.Todayisnodifferent,withacademics,writers,andactivists
Whatdeterminesthekindofpersonyouare?Whatfactorsmakeyoumoreorlessbold,intelligent,orabletoreadamap?Allof
最新回复
(
0
)