C语言求救!!最多从键盘输入80个字符,遇到回车键就结束,将输入的字符串按奇偶位置拆分

最多从键盘输入80个字符,遇到回车键就结束,将输入的字符串按奇偶位置拆分,奇数位字符在前偶数位字符在后重新组成新的字符串输出,例如输入:ab12cd3456fg,则经过程... 最多从键盘输入80个字符,遇到回车键就结束,将输入的字符串按奇偶位置拆分,奇数位字符在前偶数位字符在后重新组成新的字符串输出,例如输入: ab12cd3456fg,则经过程序处理后输出: a1c35fb2d46g
这是我自己写的,初学,表示对数组很茫然,可以帮我改下么
#include<stdio.h>
#include<string.h>
void main()
{
int i,j,k,l;
char s1[80],s2[80],s3[80];
printf("请输入字符串:\n");
gets(s1);
for(k=0;k<40;k++)
{i=2*k;
j=2*k+1;
for(l=0;l<40;l++)
{s2[l]=s1[i];
s3[l]=s1[j];
}
}
strcat(s2,s3);
printf("%s",s2);
}
展开
 我来答
匿名用户
2012-04-24
展开全部
#include<stdio.h>
#include<string.h>
void main()
{
int i,j,k;
char s1[80]="\0",s2[80]="\0",s3[80]="\0"; //最好将数组初始化,不然输出的时候容易出现乱码
printf("请输入字符串:\n");
gets(s1);
for(k=0;k<40;k++)
{
i=2*k;
j=2*k+1;
//for(l=0;l<40;l++) //这里的for循环是多余的
//{
s2[k]=s1[i]; //变量 l 也是多余的
s3[k]=s1[j];
//}
}
strcat(s2,s3);
printf("%s\n",s2);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式