文章

28

粉丝

44

获赞

4

访问

7.0k

头像
字符串排序3 题解:
P1261 北京大学机试题
发布于2024年3月8日 17:02
阅读数 300

感觉没有写错啊,但是没有输出,有没有佬帮忙看看哪里有问题,跪谢

#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...

登录查看完整内容


登录后发布评论

3 条评论
promising VIP
2024年3月8日 20:45

更改之后的代码

#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;
}

赞(0)
snake VIP
2024年3月8日 17:22

strcpy(t,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],t);

把+号敲成=了

赞(1)

promising : 回复 snake: 谢谢,解决啦

2024年3月8日 20:45