首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其他水号全部删除。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为“****A*BC*DEF*G*******”,删除后,字符串中的内容应
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其他水号全部删除。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为“****A*BC*DEF*G*******”,删除后,字符串中的内容应
admin
2017-02-24
22
问题
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其他水号全部删除。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是“****ABCDEFG”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<string.h>
#include<stdio.h>
#include<conio.h>
void fun(char*a)
{
}
main()
{
char s[81];
printf("Enter astring:\n");
gets(S);
fun(s);
printf("The string after deleted:\n");
puts(s);
}
选项
答案
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’; }
解析
本题考查:指针型变量定义;while循环语句;if语句条件表达式;字符串结束标识’\0’。
函数fun的功能:除了字符串前导的水号之外,将串中其他*号全部删除。解答本题,首先定义一个临时指针p,初始指向原串首地址;其次利用循环语句把字符串前导木号复制到原串;然后继续移动指针,把串中和串尾的非*号字符复制到原串;最后为修改后的字符串赋结束字符‘\0’。
要删除字符串中的指定字符,通常采用保留非指定字符的方法。可以将非指定字符保留在原串,即将需要保留的字符从原串的起始位置重新赋值;也可以保留到新串,即新建一个字符串,存放要保留的字符。
转载请注明原文地址:https://kaotiyun.com/show/V0Dp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序输出的结果是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]);}
当运行以下程序时,从键盘输入AhaMA(空格)Aha<CR>,则下面程序的运行结果是#include<stdio.h>main(){chars[80],c=’a’;inti=0;scanf("%s",s);
有以下程序main(){intx=0,y=0,i;for(i=1;++i){if(i%2==0){x++;continue;}if(i%5==0){y++;break;}}printf("
在C语言中,函数返回值的类型最终取决于
已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是
下面程序的运行结果是【】。#include#defineSIZE12main(){chars[SIZE];intI;for(I=0;I
函数的值通过return语句返回,下面关于return语句的形式描述错误的是
若有以下函数首部intfun(doublex[10],int*n)则下面针对此函数的函数声明语句中正确的是
若变量均已正确定义并赋值,以下合法的C语言赋值语句是
随机试题
“虎落平阳遭犬欺”啊,这种心理防御机制中属于
婴儿体内较年长者含水相对较多,主要增多部分为
肝硬化患者出现血性腹水,但无腹痛及发热,应首先考虑
枕叶肿瘤所致精神障碍的最特定的症状是
对于合同执行者而言,合同跟踪的对象有()。索赔费用的计算方法有()。
已知A、B两地之间有铁路、公路、民航等多种运输方式。假设在去年4月份,A、B两地间民航票价下降10%,当月该线路民航运量上升5%,A、B两地间铁路运量下降4%。则去年4月份A、B两地间铁路、民航运输需求的交叉弹性系数为()。
从公司角度考虑,公司应该多留留存收益,减少发放股利,这样有利于股东财富最大化。()
当期档案是指那些记录内容经常变化,只供当期审计使用的审计档案。 ( )
在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是
A、Alotofexperienceinthefield.B、Muchcontactwithnewly-openedcompanies.C、Agoodmanneroftalkingwithothers.D、Interp
最新回复
(
0
)