文章
28
粉丝
82
获赞
5
访问
16.5k
感觉没有写错啊,但是没有输出,有没有佬帮忙看看哪里有问题,跪谢
#include<stdio.h>
#include<string.h>
int main()
{
int n;
int i,j;
char a[100][100];
char t[100];
while((scanf("%d",&n))!=EOF)
{
for(i=0;i<n;i++)
{
gets(a[i]);
if(strcmp(a[i],"stop")==0)//输入stop跳出循环
break;
}
for(i=0;i<n-1;i++)//冒泡排序比较大小
{
for(j=0;j<n-i-1;j++)
{
&nb...
登录后发布评论
更改之后的代码
#include<stdio.h>
#include<string.h>
int main()
{
int n;
int i,j;
char a[100][100];
char t[100];
while((scanf("%d",&n))!=EOF)
{
getchar();//吸收换行
for(i=0;i<n;i++)
{
gets(a[i]);
if(strcmp(a[i],"stop")==0)
{
n=i;
break;
}
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(strlen(a[j])>strlen(a[j+1]))
{
strcpy(t,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],t);
}
}
}
for(i=0;i<n;i++)
{
printf("%s\n",a[i]);
}
}
return 0;
}
strcpy(t,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],t);
把+号敲成=了