| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10826 人关注过本帖
标题:任意输入10个数,按从小到大排列,并输出。请高手来看看!!!!!!!!!!!!!!!
只看楼主 加入收藏
defhvk
Rank: 2
等 级:论坛游民
帖 子:62
专家分:29
注 册:2011-4-8
收藏
得分:0 
那是调试的时候加的。实在找不到原因了才在输入10个数那里加的。说了这么多,是不是就是if 太多了出问题的?
2011-04-11 13:37
defhvk
Rank: 2
等 级:论坛游民
帖 子:62
专家分:29
注 册:2011-4-8
收藏
得分:0 
#include<stdio.h>
void x(int a[]);
main()
{
  int a[10],b;
  printf("请输入10个数:");
  for (b=0;b<=9;b++)
      scanf("%d",&a[b]);
  x(a);
}

void x(int a[])
{
   int b=1,c=-1,d=0;
   while (b==1)
   {
      if (a[++c]>a[c+1])
      {
         d=a[++c];
         a[++c]=a[c+1];
         a[c+1]=d;
         c=-1;
      }
      else if (c==9)
          break;
   }
}

随便再帮我看看这个程序,比冒泡好用多了。。。
2011-04-11 13:56
正在注册
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2011-4-11
收藏
得分:2 
我运行试试

good !
2011-04-11 14:08
xdzsm
Rank: 2
等 级:论坛游民
帖 子:137
专家分:99
注 册:2010-10-26
收藏
得分:0 
#include <stdio.h>
#include <stdlib.h>
int main ()
{
    int a[10], t, i, j;
    printf ("输入10个整数:\n");
    for (i=0;i<10;i++)
        scanf ("%d",& a[i]);
    for (i=0;i<10-1;i++)
        for (j=10-1;j>i;j--)
            if(a[j]<a[j-1])
            {
                t=a[j];
                a[j]=a[j-1];
                a[j-1]=t;
            }
   
    for (i=0;i<10;i++)
    printf ("%d ",a[i]);
   
  system("pause");
  return 0;
}
2011-04-11 14:20
zengwei9196
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2011-4-11
收藏
得分:0 
#include "stdio.h"
void main()
{int a[10];
    int i,j,t;
    printf("输入十个数:\n");
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    for(j=0;j<9;j++)
    for(i=0;i<9-j;i++)
    if(a[i]>a[i+1])
    {t=a[i];
    a[i]=a[i+1];
    a[i+1]=t;}
    for(i=0;i<10;i++)
        printf("%d\n",a[i]);
        printf("\n");
        }
2011-04-11 16:24
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
我在sort里面比较大小,也在那里输出,哪里有错了?没有比较大小

[ 本帖最后由 qq1023569223 于 2011-4-11 23:07 编辑 ]

   唯实惟新 至诚致志
2011-04-11 23:03
heimodao
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:88
专家分:172
注 册:2011-4-8
收藏
得分:0 
用冒泡法排序啊
2011-04-11 23:10
wodejia556
Rank: 2
等 级:论坛游民
帖 子:7
专家分:11
注 册:2010-5-8
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>
int * Select(int *a,int n);
void main()
{int i=0;
 int n;
 printf("请输入一个数组");
 scanf("%d",&n);
 int *a=(int *)calloc(n,sizeof(int ));
 for(i=0;i<n;i++)
     scanf("%d",&a[i]);
 Select(a,n);
 for (i=0;i<n;i++)
     printf("%d",a[i]);
}
int* Select(int *a,int n)
{  int i=0,temp=0,j=0;
    for(i=0;i<n-1;i++)
    {
        for(j=n-1;j>i;j--)
            if(a[j]<a[j-1])
            {
                temp=a[j];
                a[j]=a[j-1];
                a[j-1]=temp;
            }
    }
            return(a);
}

2011-04-11 23:18
certain
Rank: 2
等 级:论坛游民
帖 子:29
专家分:10
注 册:2011-4-14
收藏
得分:0 
恩,9楼说的对,你的if条件用的太多,给人比较混乱的感觉。

天行健|  淫荡成就梦想!
地势坤|  猥琐引领时尚!
2011-04-14 13:49
快速回复:任意输入10个数,按从小到大排列,并输出。请高手来看看!!!!!!!!!!!!! ...
数据加载中...
 
   



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

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