A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Melody丶Zhy 中级黑马   /  2015-1-24 17:11  /  3008 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

2黑马币
设计一个冒泡排序函数,将考试分数数组进行从大到小排序,然后用考试分数数组{60,45,81,59,75}进行测试,为了测试方便,再设计一个分数输出的函数,将考试分数数组进行输出。
我写的有问题 大神们帮改下,或者打一个你自己写的,黑马币不多,谢谢大家了。
  1. #include<stdio.h>
  2. int PaiXu(int a[], LEN)
  3. {
  4.   int i,j;
  5.   for(i=0; i<LEN; ++i){
  6.     for(j=0; j<LEN-i-1; ++j){
  7.       if(a[j] < a[j+1]){
  8.         int tmp = a[j];
  9.         a[j] = a[j+1];
  10.           a[j+1] = tmp;
  11.       }
  12.     }
  13.   }
  14.    for(i=0; i<LEN; ++i)
  15.     return a[i];
  16. }
  17. void print( int b[])
  18. {
  19.      b[] = a[i];
  20.      printf("由大到小的排序为%d ",b[]);
  21. }
  22.   
  23.   int main()
  24.   {
  25.     int scores[] = {60, 45, 81, 59, 75};
  26.      print(PaiXu(scores,5));
  27.    
  28.   }
复制代码



最佳答案

查看完整内容

在你的基础上稍微修改了一下

11 个回复

倒序浏览
  1. #include<stdio.h>
  2. void sort(int a[], int LEN)
  3. {
  4.     int tmp;
  5.     for(int i = 0; i < LEN; i++)
  6.     {
  7.         for(int j = 0; j < LEN-1; j++)
  8.         {
  9.             if(a[j] < a[j+1])
  10.             {
  11.                 tmp = a[j];
  12.                 a[j] = a[j+1];
  13.                 a[j+1] = tmp;
  14.             }
  15.         }
  16.     }
  17. }
  18. void print( int a[],int LEN)
  19. {
  20.     for(int i = 0; i < LEN; i++ )
  21.     {
  22.         printf("%d ",a[i]);
  23.     }
  24.     printf("\n");
  25. }

  26. int main()
  27. {
  28.     int scores[] = {60, 45, 81, 59, 75};
  29.     int len = sizeof(scores2)/sizeof(int);
  30.     sort(scores,len);
  31.     print(scores,len);
  32. }
复制代码
在你的基础上稍微修改了一下
回复 使用道具 举报
大致帮你改一下
  1. #include<stdio.h>
  2.     void PaiXu(int a[], int len)
  3.     {
  4.       int i,j;
  5.       for(i=0; i<len; ++i){
  6.         for(j=0; j<len-i-1; ++j){
  7.           if(a[j] < a[j+1]){
  8.             int tmp = a[j];
  9.             a[j] = a[j+1];
  10.               a[j+1] = tmp;
  11.           }
  12.         }
  13.       }
  14.       printf("由大到小的排序为:");
  15.       for (i = 0; i < len; ++i)
  16.       {

  17.            printf("%d ",a[i]);
  18.       }
  19.     }

  20.       int main()
  21.       {
  22.         int scores[] = {60, 45, 81, 59, 75};
  23.          PaiXu(scores,5);

  24.       }
复制代码

回复 使用道具 举报

这个我也会用一个函数写,但题干要求是用2个函数。。。表示不会写。。
回复 使用道具 举报
dawsper 发表于 2015-1-25 10:55
在你的基础上稍微修改了一下

好的~原来直接这样输出就行啊。。。懂了  不过你的代码有块错了, 30行
int len = sizeof(scores)/sizeof(int); 黑马币拿走~~
回复 使用道具 举报
Melody丶Zhy 发表于 2015-1-25 11:18
好的~原来直接这样输出就行啊。。。懂了  不过你的代码有块错了, 30行
int len = sizeof(scores)/sizeof ...

我是在我机器上运行没问题才发的,你那报错了?
回复 使用道具 举报
dawsper 发表于 2015-1-25 11:43
我是在我机器上运行没问题才发的,你那报错了?

看到了,我数组名写错了,scores2是我自己写的一个测试数组,测试后忘改回来了,不好意思。谢谢你的黑马币
回复 使用道具 举报
dawsper 发表于 2015-1-25 11:45
看到了,我数组名写错了,scores2是我自己写的一个测试数组,测试后忘改回来了,不好意思。谢谢你的黑马 ...

:):):)客气~~~~~~~~~~~~
回复 使用道具 举报
iOS的基础是java还是c?
回复 使用道具 举报
好像拿走黑马币
回复 使用道具 举报
小小上帝 发表于 2015-1-25 20:37
iOS的基础是java还是c?

C语言和 OC
回复 使用道具 举报

..............................:lol
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马