首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
假定输人的字符串中只包含字母和*号。请编写函数proc(),它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言的字符串函数。 例如,若字符串中的内容为****a*bc*def*
假定输人的字符串中只包含字母和*号。请编写函数proc(),它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言的字符串函数。 例如,若字符串中的内容为****a*bc*def*
admin
2013-03-25
21
问题
假定输人的字符串中只包含字母和*号。请编写函数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全国计算机二级
相关试题推荐
在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。
在设计程序时,应采纳的原则之一是()
以下程序运行后的输出结果是【】。main(){intx=0210;printf("%X\n",x);}
下列关于C语言数据文件的叙述中正确的是
在位运算中,操作数左移一位,其结果相当于
若有定义:inta[2][3];则才a数组的第i行第j列(假调i,j已正确说明并赋值)元素值的正确引用为
若二维数组a有m列,则在a[i][j]前的元素个数为
有如下程序main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];
对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为______。
以下程序段给数组所有的元素输入数据,请选择正确答案填入。()#inelude<stdio.h>main(){inta[10],i=0;while(i<10)scanf("%d",______);
随机试题
什么叫电焊机的动特性?其好坏取决于什么?
葡萄糖的重吸收需要肾小管上皮细胞分泌氨需要
睾丸的主要功能是
杂质限量是指
最常见的食物中毒是
某企业从外地购进甲种材料,买价3200元,外地运杂费120元,采购员差旅费105元,那么该材料实际成本是( )元。
按照《反洗钱法》的规定,客户身份资料在业务关系结束后、客户交易信息在交易结束后,金融机构应当( )。
让学生听一段无结局的故事,鼓励他们去猜测可能的结局属于()训练。
阅读以下文字,完成问题。唐代诗人张祜《题杭州孤山寺》中有“断桥荒藓合,空院落花深”的诗句,这被视为今日西湖十景之“断桥”的最早文献记录。断桥在南宋咸淳年间因隶属宝祐坊而改称宝{右桥。因“断桥”不断,当时也出现了用谐音“段桥”解释为“段家
下列叙述中正确的是
最新回复
(
0
)