首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的*号全部删除。形参h已指向字符串中第—个字母,形参p指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,若字符串中的
规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的*号全部删除。形参h已指向字符串中第—个字母,形参p指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,若字符串中的
admin
2018-03-28
25
问题
规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的*号全部删除。形参h已指向字符串中第—个字母,形参p指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。
例如,若字符串中的内容为“****A*BC*DEF*G********”,删除后,字符串中的内容应当是 “****BCDIgFG********”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#include<string.h>
void fun(char*a,Chr*h,Char*p)
{
}
main()
{
char s[81],*t,*f;
printf("Enter a string:\n");
gets(s);
t=f=S;
while(*t)
t++;
t一一;
while(*t==’*’)
t一一;
while(*f==’*’)
f++;
fun(s,f,t);
printf("The string after
deleted:\n");
puts(s);
}
选项
答案
void fun(char* a,char *h,char *p) { int i=0; char *q=a; /*将前导*号保存到a中*/ while(q<h) { a[i]=*q;q++;i++; } /*继续遍历数组*/ while(q<p){ if(*q!=’*’) { /*如果不是*保存到a中*/ a[i]=*q;i++; } q++; } /*将末尾*号保存到a中*/ while(*q) { a[i]=*q;i++;q++; } a[i]=’\0’; }
解析
本题的重点是要选择好判断条件,首先是需要判断前导*号的结束,然后判断是否指向最后一个字母,最后补充尾部*号,只要思路对了即可正确解答。
转载请注明原文地址:https://jikaoti.com/ti/Saa0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列属于不合法的main函数命令行参数表示形式的是()。
有以下程序:#include<stdlo.h>main(){FILE*fp;inti,k,n;fp=fopen("data.dat","w+")for(i=1;i<6;i++){fpri
若要用函数fopen打开一个新的二进制文件,该文件要既能读也能写,则应以哪种方式打开文件()。
若语句“t=fun(fun(x,y,a),(a+b,a+C,x+y+z);”对fun函数的调用正确,则fun函数的形参个数为()。
下列对于线性链表的描述中正确的是______。
以下程序的输出结果是() main() {staticchara[10]={"Chinese"}; printf("%d",strlen(a)); }
以下程序的输出结果是()#include<stdio.h>main(){inta,b,d=241;a=d/100%9b=(-1)&&(+1);printf("%d,%d,a,d");}
已有定义如下:structnode{intdata;structnode*next;}*p;以下语句调用malloc函数,使指针p指向一个具有stmctnode类型的动态存储空间。
有下列程序段:structst{intx;int*y;}*pt;inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;下列选项中表达式的值为11的是
随机试题
女,37岁。慢性腹泻2年,大便每天2~3次,常带少量的黏液,反复粪便致病菌培养阴性,结肠镜检查见直肠、降结肠和横结肠充血、水肿,有少数散在浅溃疡。拟诊为溃疡性结肠炎。首选的治疗方案是()
钳子的作用是什么?怎样使用?
下列不属于商业银行可以经营的业务的是()。
下列说法中正确的有( )。企业销售自产产品向购货方收取的手续费,其正确的账务处理为( )。
根据以下文字材料,完成问题。2006年国家加大了对房地产市场的宏观调控。2006年全国房地产开发完成投资。19382亿元,比去年同期增长21.8%。2006年12月,全国70个大中城市房屋销售价格同比上涨5.4%,涨幅比上月高0.2个百分点。环比
供奉:庙宇
以下程序的输出结果是()。#inc1ude#defineF(x)2.84+x#definew(y)printf("%d",(int)(y))#defineP(y)w(y)main()
马老师负责本次公务员考试成绩数据的整理,按照下列要求帮助她完成相关的整理、统计和分析工作。按照下列要求对工作表“名单”中的数据进行完善。①在“序号”列中输入格式为“00001、00002、00003……”的顺序号。②在“性别”列的空
【S1】【S6】
Thefirstsentenceofthepassagetellsusthat______.Whichofthefollowingisclosestinmeaningtothesentence"Thatisw
最新回复
(
0
)