C语言输入三个字符串,从小到大输出

来源:百度知道 编辑:UC知道 时间:2024/06/04 00:35:07
用数组做
#include<stdio.h>
void main()
{
char str1[10],str2[10],str3[10],s1,s2,s3;
scanf("%s",&s1),strcpy(str1,s1);
scanf("%s",&s2),strcpy(str2,s2);
scanf("%s",&s3),strcpy(str3,s3);
if(strcmp(str1,str2)>0)
{if(strcmp(str2,str3)>0) printf("%s,%s,%s",str3,str2,str1);
else if(strcmp(str1,str3)>0) printf("%s,%s,%s",str2,str3,str1);
else printf("%s,%s,%s",str2,str1,str3);
}
else
{if(strcmp(str1,str3)>0) printf("%s,%s,%s",str3,str1,str2);
else if(strcmp(str2,str3)>0) printf("%s,%s,%s",str1,str3,str2);
else printf("%s,%s,%s",str1,str2,str3);
}
}
错在哪里了?
具体点,谢谢。

#include<stdio.h>
#include<string.h>//要加头文件
void main()
{
char str1[10],str2[10],str3[10];/*s1,s2,s3;s1,s2,s3是一个单字符 */
/*scanf("%s",&s1),strcpy(str1,s1);
scanf("%s",&s2),strcpy(str2,s2);
scanf("%s",&s3),strcpy(str3,s3);*/
//改成:
scanf("%s",&str1);
scanf("%s",&str2);
scanf("%s",&str3);
if(strcmp(str1,str2)>0)
{if(strcmp(str2,str3)>0) printf("%s,%s,%s",str3,str2,str1);
else if(strcmp(str1,str3)>0) printf("%s,%s,%s",str2,str3,str1);
else printf("%s,%s,%s",str2,str1,str3);
}
else
{if(strcmp(str1,str3)>0) printf("%s,%s,%s",str3,str1,str2);
else if(strcmp(str2,str3)>0) printf("%s,%s,%s",str1,str3,str2);
else printf("%s,%s,%s",str1,str2,str3);
}
}

s1,s2,s3; -> s1[10],s2[10],s3[10];

s1,s2,s3都是字符
怎么可以用sca