黑马程序员技术交流社区

标题: 有个代码不知道哪里错啦谁看看 [打印本页]

作者: iamcominghm    时间: 2015-11-29 17:21
标题: 有个代码不知道哪里错啦谁看看
#include<stdio.h>
#include <stdlib.h>
int maoPao(int *arr[]);
int main()
{
    int i;
    int a[20];
    int **p=a;
    for (i=0; i<20; i++) {   //随机选数
        int b=arc4random_uniform(40)+10;
        a[i]=b;
        printf("%d  ",a[i]); //打印随机数组成的数组
    }
   
   
    int count=0,max=0,min=51;
    for (i=0; i<20; i++) {
        count+=a[i];//求和
        if (max<a[i]) {   //求最小值
            max=a[i];
        }
        if(min>a[i]){   //求最大值
            min=a[i];
        }
    }
    maoPao(a);
   
    printf("和是:%d\n",count);
    double average=count/(double)20;//求平均值 或者写成double average=count/(1.0*20)
    printf("平均分是:%f\n",average);
    printf("最小值是:%d\n最大值是:%d\n",min,max);
}


int maoPao(int *arr[])
{
    int i=0,temp;
    for (i=0; i<20; i++) {
        for (i=0; i<19; i++) {
            if (arr[i]<a[i+1]) {
                temp=a[i];
                arr[i]=arr[i+1];
                arr[i+1]=arr[i];
            }
        }
        printf("以上元素从大到小分别是:%d",arr[i]);
    }
   
}
那个冒泡排序的方法调用和方法实现那里参数一直有问题啊
作者: 马尔代夫的日出    时间: 2015-11-29 21:22
完全没有逻辑啊兄弟!多看看吧
作者: liuch111    时间: 2015-11-29 21:50
什么错误 错误提示是什么
作者: 仰望星空的猪    时间: 2015-11-30 13:14
冒泡排序的 循环变量是 两个 i  和  j   你用的是同一个 i     内层循环的i 循环一次之后 i值为18  此时外层循环的i 也为18了。 没猜错的话 应该是个死循环。
作者: yingsuhua    时间: 2015-11-30 21:00
if (arr[i]<a[i+1]) {
               temp=a[i];
if (arr[i]<arr[i+1]) {
                temp=arr[i];
                temp=a[i];
我也不会刚 看几天视频
作者: 石油小硕    时间: 2015-11-30 21:13
可能我还没学到家
作者: iOS-lye    时间: 2015-11-30 21:48
实现这个功能不要用指针吧,看的我好晕啊。直接数组不可以实现吗




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