黑马程序员技术交流社区

标题: c语言函数问题 [打印本页]

作者: Melody丶Zhy    时间: 2015-1-24 17:11
标题: c语言函数问题
设计一个冒泡排序函数,将考试分数数组进行从大到小排序,然后用考试分数数组{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.   }
复制代码




作者: dawsper    时间: 2015-1-24 17: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. }
复制代码
在你的基础上稍微修改了一下

作者: 王德亮    时间: 2015-1-24 17:51
大致帮你改一下
  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.       }
复制代码


作者: Melody丶Zhy    时间: 2015-1-24 20:31
王德亮 发表于 2015-1-24 17:51
大致帮你改一下

这个我也会用一个函数写,但题干要求是用2个函数。。。表示不会写。。
作者: Melody丶Zhy    时间: 2015-1-25 11:18
dawsper 发表于 2015-1-25 10:55
在你的基础上稍微修改了一下

好的~原来直接这样输出就行啊。。。懂了  不过你的代码有块错了, 30行
int len = sizeof(scores)/sizeof(int); 黑马币拿走~~
作者: dawsper    时间: 2015-1-25 11:43
Melody丶Zhy 发表于 2015-1-25 11:18
好的~原来直接这样输出就行啊。。。懂了  不过你的代码有块错了, 30行
int len = sizeof(scores)/sizeof ...

我是在我机器上运行没问题才发的,你那报错了?
作者: dawsper    时间: 2015-1-25 11:45
dawsper 发表于 2015-1-25 11:43
我是在我机器上运行没问题才发的,你那报错了?

看到了,我数组名写错了,scores2是我自己写的一个测试数组,测试后忘改回来了,不好意思。谢谢你的黑马币
作者: Melody丶Zhy    时间: 2015-1-25 19:00
dawsper 发表于 2015-1-25 11:45
看到了,我数组名写错了,scores2是我自己写的一个测试数组,测试后忘改回来了,不好意思。谢谢你的黑马 ...

:):):)客气~~~~~~~~~~~~
作者: 小小上帝    时间: 2015-1-25 20:37
iOS的基础是java还是c?
作者: 华少code    时间: 2015-1-25 21:51
好像拿走黑马币
作者: Melody丶Zhy    时间: 2015-1-26 11:18
小小上帝 发表于 2015-1-25 20:37
iOS的基础是java还是c?

C语言和 OC
作者: Melody丶Zhy    时间: 2015-1-26 11:19
华少code 发表于 2015-1-25 21:51
好像拿走黑马币

..............................:lol




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2