标题:对一维数组排序,求纠错
只看楼主
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
结帖率:91.67%
 问题点数:0 回复次数:1 
对一维数组排序,求纠错
只是一个一维排序,从低到高排,觉得没问题,就是结果不对,求大神纠个错,万分感谢
#include<stdio.h>
int main()
{
    int a[50]={0},i=0,x,n,j,tmax,z;
    int max(int a[],int n);
    printf("please input the number:\n");
    while((scanf("%d",&a[i]))!=EOF)
    {
       i++;
       }//i个值
      
      n=i-1;  //i-1次求最大
    for(j=1;j<=n;j++,i--){
        tmax=max(a,i);   //tmax是数组a中前i个数字中最大数字的序号
               if(tmax==i-1)  ;
      else    {x=a[tmax];a[tmax]=a[i-1];a[i-1]=x;}
        }//for
      for(z=0;z<(n+1);z++){
       printf("%d ",a[z]);
       }               
         
       return 0;
       }
int max(int a[],int n){
    int tmax=0,q;
    for(q=1;q<=n;q++){
          if(a[q]>a[tmax])  tmax=q;
          }
          return (tmax);
          }
搜索更多相关主题的帖子: number please include 
2014-09-25 22:42
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
得分:0 
自己发现了。。。函数中是q<n,不是q<=n;还是不细心呀
2014-09-25 23:41



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




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

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