首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串中的前导*号全部移到宁符串的尾部。 例如,字符串中的内容为“*******A*BC*DEF*G****”,移动后,字符串中的内容应当是“A*BC*DEF*G**********
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串中的前导*号全部移到宁符串的尾部。 例如,字符串中的内容为“*******A*BC*DEF*G****”,移动后,字符串中的内容应当是“A*BC*DEF*G**********
admin
2021-02-25
52
问题
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串中的前导*号全部移到宁符串的尾部。
例如,字符串中的内容为“*******A*BC*DEF*G****”,移动后,字符串中的内容应当是“A*BC*DEF*G**********”。在编写函数时,不得使用C语言提供的字符串函数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<conio.h>
void fun(char*a)
{
}
main()
{
char s[81],*P;
char test[4][80]=(“********A*BC*DEF*G****”,”A******B*CD**EF*G*”,“****A****G*”,“*d**b**a**e*”};
int i;
printf(“Enter a string:\n:”);
gets(s);
fun(s);
printf(“The string after moveing:\n”);
puts(s);
}
选项
答案
void fun(char*a) { int i=0,n=0; char*p; p=a; /*判断*p是否是*号,并统计*号的个数*/ while(*p==‘*’) { n++,p++; } /*将前导*号后的字符传递给a*/ while(*p) { /*将*之后的字符串保存到a中*/ a[i]=*p; i++;p++; } while(n!=0) { /*在a后追加n个*号*/ a[i]=‘*’;i++,n一一; } a[i]=‘\0’;/*加上结束符*/ }
解析
函数fun的功能是:将字符串中的前导*号全部移到字符串的尾部。本题解题思路:首先定义一个指针并指向字符串的首地址;其次利用循环语句找出字符串的前导*号的个数n;然后利用循环语句把剩余的字符复制到另一个字符串中;最后在字符串的末尾接上n个*号。
转载请注明原文地址:https://www.kaotiyun.com/show/Uotp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有定义inta:floatb:doublec;程序运行时输入:345能把值3输入给变量a、4输入给变量b、5输入给变量C的语句是
以下叙述中错误的是()。
有以下程序,程序运行后的输出结果是#include<stdio_h>#defineN2#defineMN+1#defineNUM(M+1)*M/2main(){orintf("%d\n",NUM1);}
有以下程序#includestructord{intx,y;)dt[2]={1,2,3,4);main(){structord*p=dt;printf("%d",++(p->x))=printf("%d\n",++(p->y));}程序运行后的
设有宏定义:#definelsDIV(k,n)((k%n==1)?1:0)且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&&IsDIV(m,7)为真时所要表达的是
设有定义:doublea,b,c;若要求通过输入分别给a、b、c输入1、2、3,输入形式如下(注:此处口代表一个空格)口口1.0口口2.0口口3.0则能进行正确输入的语句是
软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是
对下列二叉树进行前序遍历的结果是
流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。其中判断框的图形是()。
随机试题
Doesthelanguagewespeakdeterminehowhealthyandrichwewillbe?NewresearchbyKeithChenofYaleBusinessSchoolsuggest
男性,64岁,突发气喘、心慌2小时,高血压病史9年。检查:半卧位,血压200/120mmHg,心率126次/分,律不齐,双肺湿啰音,尿素氮24.2mmol/L,肌酐433μmol/L,血钾5.8mmol/L,诊断:高血压3级(极高危组),急性左心力衰竭,肾
女,48岁。慢性腹泻3年,大便每日3~4次,伴有少量黏液,多次粪便致病菌培养阴性。纤维结肠镜检查见直肠与降结肠充血、水肿,有少数散在分布的浅溃疡。拟诊为溃疡性结肠炎。首选的治疗方案为
关于房间隔缺损的血流动力学改变,以下哪项是错误的
A.耐热性B.滤过性C.被吸附性D.水溶性E.不耐酸碱性用重铬酸钾硫酸溶液破坏热原是利用热原的()。
根据我国宪法规定,下列关于私有财产权的表述哪一项是不正确的?
国有企业、集体企业及其他所有制形式的企业经重组改制为股份有限公司后,向中国证监会提出境外上市申请,按合理预期市盈率计算,筹资额不少于( )万美元。
清政府的“预备立宪”之所以是一场骗局,主要是因为()。
结合实际,谈谈电视现场报道的特点和报道要求。(中国传媒大学2011年研)
1842年,开放广州、厦门、福州、宁波、上海为通商口岸的条约是()。
最新回复
(
0
)