字母顺序(这样输入有错吗)

来源:百度知道 编辑:UC知道 时间:2024/05/18 13:09:35
#include "stdio.h"
main()
{
int i,j,p;
char str1[20],str2[5][20];
printf("Input country's name:");
for(i=0;i<5;i++)
gets(str2); //输入5个国家的国名//
strcpy(str1,str2);
for(j=i+1;j<5;j++)
if(strcmp(str1,str2>0));
strcpy(str1,str2[j]);//完成比较//
p=j; //将i赋值给p//
if(p!=i)
{strcpy(str1,str2);strcpy(str2,str2);strcpy(str2,str1);} //str和str调换//
puts(str2);
printf("\n");
}
#include "stdio.h"
main()
{
int i,j,p;
char str1[20],str2[5][20];
printf("Input country's name:");
gets(str2[i]); //输入5个国家的国名//
printf("\n");
for(i=0;i<5;i++)
{p=i;strcpy(str1,str2[i]);
for(j=i+1;j<5;j++)

if(strcmp(str1,str2[j]>0));
{
strcpy(str1,str2[j]);//完成比较//
p=j;
}
//将i赋值给p//
if(p!=i)
{strcpy(

gets(str2[0]); //输入5个国家的国名//
if(strcmp(str1,str2>0)); ???str2>0?if(strcmp(str1,str2)>0) 多分号

还有这些
strcpy(str1,str2);strcpy(str2,str2);strcpy(str2,str1);} str2是数组名只能表示第一行的地址

gets(str2);有问题,
你是想将五个国家分别放进数组的5行吧。
应改为

for(i=0;i<5;i++)
gets(str2[i]);