首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输人的字符串中只包含字母和*号。请编写函数proc(),它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言的字符串函数。 例如,若字符串中的内容为****a*bc*def*
假定输人的字符串中只包含字母和*号。请编写函数proc(),它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言的字符串函数。 例如,若字符串中的内容为****a*bc*def*
admin
2013-03-25
60
问题
假定输人的字符串中只包含字母和*号。请编写函数proc(),它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言的字符串函数。
例如,若字符串中的内容为****a*bc*def*g****,删除后,字符串中的内容应当是abcdefg****。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include
#include
void proc(char*str,char*p)
{
}
void main()
{
char str[81],*t;
printf(”Enter a string:\n”);
gets(str);
t:==str 0
while(*t)
t++;
t--; //指针t指向字符串尾部
while(*t一=’*’)
t--;//指针t指向最后一个字母
proc(str,t);
printf(”The string after deleted:\n”);
puts(str);
}
选项
答案
void proc(char * str,char * p) { char *t=str; for(;t<=p;t++) if(*t!=’*’) //把前面不是*号的字符放到a数组,通过t的移动来实现 *(str++)=*t; for(;*t!=’\0’;t++) *(str++)=*t; //把尾部的*号接到其后面,当*t为’\0’,时结束 *str=’\0’; //题目要求a数组中存放字符,因此用’\0’作为结束标志
解析
题目中要求除了尾部的*号之外,将字符串中其他*号全部删除。首先将所有不是*的字符放在字符串str中,然后将尾部的*接在字符的后面,最后为字符串str加上结束符。
转载请注明原文地址:https://kaotiyun.com/show/VXJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若题中各变量已正确定义并赋值,下面符合C语法的表达式是()
在设计程序时,应采纳的原则之一是()
用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)【】;
将代数式转换成程序设计中的表达式为【】。
以下程序段的执行结果为#definePLUS(X,Y)X+Ymain(){intx=1,y=2,z=3,sum;sum=PLUS(x+y,z)*PLUS(y,z);printf("SUM=%d",sum
语句int(*ptr)();的含义是
若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是
对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为______。
不合法的main函数命令行参数表示形式是()
随机试题
美国反托拉斯法包含________、________、_________。
下列为前列腺腺癌Gleason4级的镜下表现的是
大部分真核生物的mRNA的3′端具有的结构是
在对瘿病肿块扪诊时,除对其肿块位置、数目、硬度、光滑度、活动度、界限进行重点检查外,还应注意的是()
转口贸易是指()。
合伙企业具有企业法人资格。()
旅游意外保险合同往往具有短期性,具体表现为以里程、天数或游览点计算。()
教师是出卖知识的职业,教师与学生之间是推销员与顾客的关系。()
《中华人民共和国合同法》第99条规定:“当事人互负到期债务,该债务的标的物种类、品质相同的,任何一方可以将自己的债务与对方的债务抵销,但依照法律规定或者按照合同性质不得抵销的除外。当事人主张抵销的,应当通知对方。通知自到达对方时生效。抵销不得附条
恩格斯指出:“应用到物质上的运动,就是一般的变化”。这说明()
最新回复
(
0
)