首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串中的前导*号全部移到宁符串的尾部。 例如,字符串中的内容为“*******A*BC*DEF*G****”,移动后,字符串中的内容应当是“A*BC*DEF*G**********
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串中的前导*号全部移到宁符串的尾部。 例如,字符串中的内容为“*******A*BC*DEF*G****”,移动后,字符串中的内容应当是“A*BC*DEF*G**********
admin
2021-02-25
30
问题
规定输入的字符串中只包含字母和*号。请编写函数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://kaotiyun.com/show/Uotp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列叙述中正确的是
下列叙述中正确的是()。
下列叙述中正确的是
有以下程序#includemain(){inta=2,b;b=a<<2;printf("%d\n",b);}程序运行后的输出结果是
若有定义语句:chara=’\82’:则变量a
设二叉树的后序序列为DGHEBIJFCA,中序序列为DBGEHACIFJ。则前序序列为
设有定义:intk=0;,下列选项的4个表达式中与其他3个表达式的值不相同的是()。
若定义函数“int*func()”,则函数func的返回值为()。
以下不能用于描述算法的是()。
随机试题
下列关于无差异曲线的说法中,正确的有( )。
在西方美学史上,真正奠定悲剧理论基础的是古希腊的【】
下列关于M型受体的叙述,错误的是()
A.牙源性角化囊性瘤B.含牙囊肿C.鼻腭囊肿D.球状上颌囊肿E.腮裂囊肿缩余釉上皮剩余形成,包括1个未萌牙齿的牙冠
规模比较大的个人独资企业的名称可以使用“公司”字样。()
甲公司与乙公司分别签订了两份合同:一是以货换货合同,甲公司的货物价值200万元,乙公司的货物价值150万元;二是采购合同,甲公司购买乙公司50万元货物,但因故合同未能兑现。甲公司应缴纳印花税()。
关于损失,下列说法中不正确的有()。
下列选项中属于扬州园林风格的是()。
JazzisakindofmusicthathasoftenbeencalledtheonlyartformtooriginateintheUnitedStates.Thehistoryof【B1】began
设某商品的需求函数为Q=160-2p,其中Q,P分别表示需求量和价格,如果该商品需求弹性的绝对值等于1,则该商品的价格是().
最新回复
(
0
)