假定输入的字符串中只包含字母和*号。它的功能是:将字符串中的前导*号全部移到字符串的尾部。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了假定输入的字符串中只包含字母和*号。它的功能是:将字符串中的前导*号全部移到字符串的尾部。相关的知识,希望对你有一定的参考价值。
编写程序,用的是C语言,Microsoft Visual C++
#include <stdio.h>
void fun( char *a )
char b[81];
char *c,*d;
c = a;
int i = 0;
while (*c == '*')
c++;
d = c;
while (*c != '\\0')
b[i] = *c;
i++;
c++;
int e = 0;
while (a < d)
b[i] = *a;
i++;
a++;
e++;
a = a - e;
for (int j = 0; j < i; j++)
*a = b[j];
a++;
*a = '\\0';
int main()
char s[81];
int n=0;
printf("Enter a string:\\n");
gets(s);
fun( s );
printf("The string after moveing:\\n");puts(s);
return 0;
扩展资料:
需要说明的是:
1、一个C语言源程序可以由一个或多个源文件组成。
2、每个源文件可由一个或多个函数组成。
3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。
4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。
5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“”之后不能加分号。(结构体、联合体、枚举型的声明的“”后要加“ ;”。)
6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
参考资料:
百度百科-C语言
#include <stdio.h>
#include <string.h>
void convertA(char *s)
int i, len = strlen(s);
for (i = 0; i < len; i++)
if (s[i] != '*') break;
if (i > 0) strncpy(s, &s[i], len - i);
for (; i > 0; i--) s[len - i] = '*';
int main (int argc, const char * argv[])
int s[100] = 0;
scanf("%s", s);
convertA(s);
printf("%s\n", s);
return 0;
==================
运行结果:
输入:**hello
输出:hello**
输入:*h*llo*
输出:h*llo**
==================
希望这是你要的结果,如果不是,请把你要的效果举例说明(欢迎追问),代码其实不难,难的是理解客户的需求。追问
上述提及的 得出的结果是对的 但我学的还是初等 你写的一些名词 木有学到过 例如:void convertA(char *s)
const char * argv[])
void convertA(char *s) 这是一个子函数,你可以把它当成是一个实现了你要的那个功能的零部件,main函数是一个框架,只需要把零部件塞进来就可以了
const char * argv[] 这个你不懂正常,我是习惯了,这里没有用到这个东西,可以直接去掉,将int main (int argc, const char * argv[]) 修改为int main ()即可
如果还有其他看不懂的地方请继续追问,觉得很困难的地方我可以用你看的懂的写法写出来
7.编写程序,其功能是:将s所指字符串中除了保留下标为奇数、同时ascii值也为奇数的字符外,其余的全都删除。
main()
int i,j,k;
char s[100];
gets(s);
k=strlen(s);
i=0;
for(j=0;j<k;j+=2)
if(s[j]%2==1) s[i++]=s[j];
s[i]=0;
puts(s);
这就是我们现在学的,差不多就这样的。谢谢了,你人很好。
好吧,修改如下,这个应该没什么难度了:
main ()
int s[100] = 0, i, j, len;
gets(s);
len = strlen(s);
for (i = 0; i 0 && i != len)
for (j = 0; j 0; j--) s[len - j] = '*';
puts(s);
输出来的是原数啊?
本回答被提问者采纳C语言试题四十二之假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。
1、 题目
请编写一个函数function,它的功能是:假定输入的字符串中只包含字母和*号,它的功能是:将字符串中的前导*号全部移到字符串的尾部。
2 、温馨提示
C语言试题汇总里可用于计算机二级C语言笔试、机试、研究生复试中C程序设计科目、帮助C语言学者打好程序基础、C语言基础,锻炼您的逻辑思维和解决问题的能力,帮助你成为C语言笔试、机试解题高手,帮助你拿到C语言工作的offer,每一个题目都附带源代码和运行结果,让你不再有任何困惑,妈妈再也不担心我的C语言了。如果程序有任何看不懂或者哪个步骤不理解的地方都可以加我微信(15874274916)私聊我,或者有更好的思路解决办法都可以加我微私聊,一起探讨、希望可以正真的帮助到你,同时也可以扫下面的二维码关注我微信公众号,比如你还对生活、美食或者其它方面都感兴趣,都可以加微信交流,博主擅长讲解计算机相关方面的知识、如果大家对计算机方向、前端、移动端、服务端、数据结构、算法、网络、高数等等一些列方向比较迷茫或者不知道要学哪些?或者具体怎么学?或者其它方向有任何困惑都可以找我交流,谢谢大家关注。
以上是关于假定输入的字符串中只包含字母和*号。它的功能是:将字符串中的前导*号全部移到字符串的尾部。的主要内容,如果未能解决你的问题,请参考以下文章
C语言试题四十二之假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。
假定输入的字符中只包含字母和“ * ”号。编写一个函数fun,该函数的功能是将字符串中前导“ *
C语言试题五十七之假定输入的字符串中只包含字母和*号。请编写函数function,它的功能是:删除字符串中所有*号。在编写函数时,不得使用c语言提供的字符串函数。
C语言试题五十七之假定输入的字符串中只包含字母和*号。请编写函数function,它的功能是:删除字符串中所有*号。在编写函数时,不得使用c语言提供的字符串函数。