帮我看看这道C语言的题哪里有问题?

来源:百度知道 编辑:UC知道 时间:2024/04/29 07:54:12
#include<string.h>
#include<stdio.h>
void main()
{int i,j,n;
char s1[20],s2[10],t;
gets(s1);gets(s2);
strcat(s1,s2);
n=strlen(s1);
for(i=1;i<=n-1;i++)
{for(j=0;j<=n-i-1;j++)
if(s1[j]>s1[j+1]) {t=s1[j];s1[j]=s1[j+1];s1[j+1]=t;}
}
puts(s1);
}

不知你想问什么问题
如果是想把字符串连接再排序的话
你这个程序没什么错误
不过可以把循环条件简化
#include<string.h>
#include<stdio.h>
void main()
{int i,j,n;
char s1[20],s2[10],t;
gets(s1);gets(s2);
strcat(s1,s2);
n=strlen(s1);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(s1[i]>s1[j]) {t=s1[i];s1[i]=s1[j];s1[j]=t;}
puts(s1);
}

没大问题,
缺判断输入长度

有什么问题吗?

记错 8好意思

没有问题