一道C的问题 请帮忙
题目是:编写程序:从键盘输入4个字符串(长度<20),存入二维字符数组中。然后对它们进行排序(由小到大顺序),最后输出排序后的4个字符串。输入、输出均为字符串。如输入:n...
题目是:编写程序:从键盘输入4个字符串(长度<20),存入二维字符数组中。然后对它们进行排序(由小到大顺序),最后输出排序后的4个字符串。
输入、输出均为字符串。
如输入:nwpu xjtu sina 163
输出:163 nwpu sina xjtu
我写的是:
#include"string.h"
main()
{
char str[5][20];
int i,j;
gets(str[0][20]);
gets(str[1][20]);
gets(str[2][20]);
gets(str[3][20]);
for(i=0;i<=3;i++)
for(j=i+1;j<=3;j++)
if(strcmp(str[i][20],str[j][20])>0)
{
strcpy(str[4][20],str[i][20]);
strcpy(str[i][20],str[j][20]);
strcpy(str[j][20],str[4][20]);
}
for(i=0;i<=3;i++)
puts(str[i][20]);
getch();
}
编译没错 运行就错了
初学C 请大家帮忙 展开
输入、输出均为字符串。
如输入:nwpu xjtu sina 163
输出:163 nwpu sina xjtu
我写的是:
#include"string.h"
main()
{
char str[5][20];
int i,j;
gets(str[0][20]);
gets(str[1][20]);
gets(str[2][20]);
gets(str[3][20]);
for(i=0;i<=3;i++)
for(j=i+1;j<=3;j++)
if(strcmp(str[i][20],str[j][20])>0)
{
strcpy(str[4][20],str[i][20]);
strcpy(str[i][20],str[j][20]);
strcpy(str[j][20],str[4][20]);
}
for(i=0;i<=3;i++)
puts(str[i][20]);
getch();
}
编译没错 运行就错了
初学C 请大家帮忙 展开
展开全部
#include"string.h"
main()
{
char str[5][20];
int i,j;
gets(str[0][20]); //这四句都错了,gets(str[0])就行了.下同.
gets(str[1][20]); //str[1][20]这里是字符而不是字符串.只有在定义变量时才表示是字符串
gets(str[2][20]);
gets(str[3][20]);
for(i=0;i<=3;i++)
for(j=i+1;j<=3;j++)
if(strcmp(str[i][20],str[j][20])>0) //这里也是,用strcmp(str[i],str[j])就可以了,下同.
{
strcpy(str[4][20],str[i][20]);
strcpy(str[i][20],str[j][20]);
strcpy(str[j][20],str[4][20]);
}
for(i=0;i<=3;i++)
puts(str[i][20]); //这里也是
getch();
}
main()
{
char str[5][20];
int i,j;
gets(str[0][20]); //这四句都错了,gets(str[0])就行了.下同.
gets(str[1][20]); //str[1][20]这里是字符而不是字符串.只有在定义变量时才表示是字符串
gets(str[2][20]);
gets(str[3][20]);
for(i=0;i<=3;i++)
for(j=i+1;j<=3;j++)
if(strcmp(str[i][20],str[j][20])>0) //这里也是,用strcmp(str[i],str[j])就可以了,下同.
{
strcpy(str[4][20],str[i][20]);
strcpy(str[i][20],str[j][20]);
strcpy(str[j][20],str[4][20]);
}
for(i=0;i<=3;i++)
puts(str[i][20]); //这里也是
getch();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询