| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1237 人关注过本帖
标题:求助,相同的一组数据输入进去,为什么第一次可以正常排序,第二次就不可以 ...
只看楼主 加入收藏
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
结帖率:92.31%
收藏
已结贴  问题点数:20 回复次数:1 
求助,相同的一组数据输入进去,为什么第一次可以正常排序,第二次就不可以了
给定n个正整数,根据各位数字之和从小到大进行排序,如果数字之和相同,则按给定正整数从小到大排序。
输入

输入数据有多组,每组数据占一行,每行的第一个数正整数n,表示整数个数,后面接n个正整数。当n为0时,不作任何处理,输入结束。

输出
输出每组排序的结果。
样例输入

2 1 2
3 121 10 111
0

样例输出

1 2
10 111 121
(相同的一组数据输入进去,为什么第一次可以正常排序,第二次就不可以了)
代码:
#include<stdio.h>
#include<math.h>
int main()
{
    int ex(int a[],int s[],int n);
    int n,i,j;
    int s[100]={0},a[100];//s中是各个数字的各个位数的和,a中是原本输入的数
    while(scanf("%d",&n)!=EOF)
    {
        for(i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
            for(j=a[i];j;j/=10)
            {
                s[i]+=j%10;
            }
        }
        ex(a,s,n);
        for(i=0;i<n-1;i++)
            printf("%d ",a[i]);
        printf("%d\12",a[i]);
    }
    return 0;
   
}
int ex(int a[],int s[],int n)
{
    int i,j,t;
    for(i=0;i<n-1;i++)
    {
        for(j=0;j<n-1-i;j++)
        {
            if(s[j]>s[j+1])
            {
                t=s[j];
                s[j]=s[j+1];
                s[j+1]=t;

                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
            else if(s[j]==s[j+1] && a[j]>a[j+1])
            {
                t=s[j];
                s[j]=s[j+1];
                s[j+1]=t;

                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            
            }

        }
    }
}

搜索更多相关主题的帖子: 数据 输入 排序 int for 
2018-12-15 18:04
demonmice3
Rank: 2
等 级:论坛游民
帖 子:1
专家分:20
注 册:2018-12-15
收藏
得分:20 
每次循环之后s数组忘记初始化了↓
用printf可以检验出来:
图片附件: 游客没有浏览图片的权限,请 登录注册


还有一个问题,输入0之后不能终止进程。我在你代码的基础上尝试着做了几个改动,可以看一下√
图片附件: 游客没有浏览图片的权限,请 登录注册
2018-12-15 19:26
快速回复:求助,相同的一组数据输入进去,为什么第一次可以正常排序,第二次就不 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016881 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved