标题:新手学习C语言,哪位大佬可以给我解释一下这个程序,这个程序哪里不对
只看楼主
说句实话
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-11-24
结帖率:50%
已结贴  问题点数:20 回复次数:2 
新手学习C语言,哪位大佬可以给我解释一下这个程序,这个程序哪里不对
编写程序,任意输入10个整数,经过排序后,使得数列的前一半数为升序排序,后一半数为降序排列。
例如输入: 12 23  9  45  78  124  37  52  97  65。则输出结果为:9  12  23  37  45  124  97  78  65  52。




#include<stdio.h>
main()
{
    int i,j,k,r;
    int a[10]={12,23,9,45,78,124,37,52,97,65};
    for(i=0;i<=9;i++)
    {   
    k=i;
        for(j=i+1;j<=9;j++)
        {
          if(a[i]>a[j])
         
            {
                k=j;
                r=a[i];a[i]=a[k];a[k]=r;
            }
            
        }
        
    }
   
     
     for(i=0;i<=9;i++)
     if(i<=4)
     printf("%d ",a[i]);
     else      
     printf("%d ",a[14-i]);

     
}

[此贴子已经被作者于2018-12-19 12:32编辑过]

搜索更多相关主题的帖子: 学习 C语言 int for i++ 
2018-12-18 20:06
莱茵瓶
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:32
专家分:103
注 册:2018-10-30
得分:20 
什么问题..
程序没问题啊
2018-12-19 14:33
perry_lin
Rank: 1
等 级:新手上路
威 望:1
帖 子:5
专家分:0
注 册:2019-7-19
得分:0 
应该是答案错了吧
你从前往后排序后应再从后往前排
否则后面的小数字无法排前面!
在第十七排加上:
if(a[9-i]<a[9-j])
{
  r=a[9-i];
  a[9-i]=a[9-k];
  a[9-k]=r;
}
2019-07-19 10:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-492112-1-1.html




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

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