当前位置: 代码迷 >> C语言 >> 帮我检查一下
  详细解决方案

帮我检查一下

热度:46   发布时间:2008-03-20 07:55:17.0
帮我检查一下
这个程序哪里错了啊?
#include<stdio.h>
#define N 3
void find (float *par)  
{
   int i=0,j=0;
   float temp;
     for(i=0;i<N;i++)
     {
         for(j=0;j<N;j++)
         {
            if(*(par+j) > *(par+j+1))  
            {
               temp=*(par+j);
                *(par+j)=*(par+j+1);
                *(par+j+1)=temp;
            }
         }
     }
}
void main()
{
  float arr[N];
  float *par_a;
  int i;
  par_a=arr;
  printf("\n 请输入%d个学员的成绩:\n",N);
  for(i=0;i<N;i++)
  {
    scanf("%f",&arr[i]);
  }
  find (par_a);
  printf("\n排序后的成绩为:\n");
  for(i=0;i<N;i++);
  {
   printf("%5.2f\n",arr[i]);
  }
   printf("\n");
}
UID235145 精华0 积分33 铜板0 个 阅读权限10 在线时间0 小时 最后登录2008-3-20 查看详细资料
评分 编辑 引用 使用道具 举报 回复 TOP
搜索更多相关的解决方案: 检查  

----------------解决方案--------------------------------------------------------
#include<stdio.h>
#define N 3
void find (float *par)  
{
   int i=0,j=0;
   float temp;
     for(i=0;i<N;i++)
     {
         for(j=0;j<N-1;j++)//应为N-1;
         {
            if(*(par+j) > *(par+j+1))  
            {
                temp=*(par+j);
                *(par+j)=*(par+j+1);
                *(par+j+1)=temp;
            }

         }
     }
}

void main()
{
  float arr[N];
  float *par_a;
  int i;
  par_a=arr;
  printf("\n 请输入%d个学员的成绩:\n",N);
  for(i=0;i<N;i++)
  {
    scanf("%f",&arr[i]);
  }
  find (par_a);
  printf("\n排序后的成绩为:\n");
  
  for(i=0;i<N;i++)//no ;
  {
   printf("%5.2f\n",arr[i]);
  }
   printf("\n");
}
----------------解决方案--------------------------------------------------------