首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的水号全部删除。形参h已指向字符串中第—个字母,形参P指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,若字符串中的内容为“
规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的水号全部删除。形参h已指向字符串中第—个字母,形参P指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,若字符串中的内容为“
admin
2017-02-24
29
问题
规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:除了字符串前导和尾部的*号外,将串中其他的水号全部删除。形参h已指向字符串中第—个字母,形参P指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。
例如,若字符串中的内容为“****A*BC*DEF*G********”,删除后,字符串中的内容应当是“****ABCDEFG********”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#include<string.h>
void fun(char*a,char*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://kaotiyun.com/show/L0Dp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序段,且变量已正确定义和赋值for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf("s=%f\n\n",s);请填空,使下面程序段的功能与之完全相同S=1.0;k=1;while([8]
有以下程序#include<string.h>main(){charp[20]={’a’,’b’,’c’,’d’},q[]="abc",r[]="abcde";strcat(p,r);strcpy(p+strlen(q),
下面程序段的运行结果是chara[]="lanuage",*p;p=a;while(*p!=’u’){printf("%c",*p-32);p++;}
下面程序输出的结果是main(){inti;inta[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d",a[2-i][i]);}
有以下程序main(){intx=0,y=0,i;for(i=1;++i){if(i%2==0){x++;continue;}if(i%5==0){y++;break;}}printf("
已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是
在结构化程序设计中,模块划分的原则是
以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。main(){intx[10],a[9],I;for(I=0;I
以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。#includestructlist{intd
下列函数的运行结果是main(){inti=2,p;intj,k;j=i;k=++i;p=f(j,k);printf("%d",p);}intf(inta,intb){intc;if(a>b
随机试题
卵巢分泌的物质不包括
三日疟的潜伏期一般为
牙髓电活力测验可以判断牙髓的
鸡血藤的功效是
某女,45岁,患风热感冒,症见目赤肿痛,咳嗽咽干,舌红苔黄,脉浮数,医生诊断后,处以桑叶、菊花水煎服。若患者病情加重,出现热毒疮痈,痄腮,宜选用的药物是()。
2017年6月,甲公司支付价款8000万元,自二级市场购入乙公司股票1000万股,购入时包含已宣告但尚未发放的现金股利1000万元,甲公司将购入股票划分为以公允价值计量且其变动计入其他综合收益的金融资产。2017年12月31日,乙公司股票的市场价格为
哪种教学组织形式把大班上课、小组讨论、个人自学结合在一起,试图兼容班级授课、分组教学与个别教学的优点()
教育心理学的奠基人是美国的()
与2001年相比,2010年税收收入增长幅度最大的是哪个税种?()
卡车司机甲在行车途中,被一吉普车超过,甲顿生不快,便加速超过该车。不一会儿,该车又超过了甲,甲又加速超过该车。当该车再一次试图超车行至甲车左侧时,甲对坐在副座的乙说,“我要吓他一下,看他还敢超我。”随即将方向盘向左边一打,吉普车为躲避碰撞而翻下路基,司机重
最新回复
(
0
)