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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

#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]);
    }
   
}
那个冒泡排序的方法调用和方法实现那里参数一直有问题啊

评分

参与人数 1黑马币 +2 收起 理由
onlyanswer + 2

查看全部评分

6 个回复

倒序浏览
完全没有逻辑啊兄弟!多看看吧
回复 使用道具 举报
什么错误 错误提示是什么
回复 使用道具 举报
冒泡排序的 循环变量是 两个 i  和  j   你用的是同一个 i     内层循环的i 循环一次之后 i值为18  此时外层循环的i 也为18了。 没猜错的话 应该是个死循环。
回复 使用道具 举报
if (arr[i]<a[i+1]) {
               temp=a[i];
if (arr[i]<arr[i+1]) {
                temp=arr[i];
                temp=a[i];
我也不会刚 看几天视频
回复 使用道具 举报
可能我还没学到家
回复 使用道具 举报
实现这个功能不要用指针吧,看的我好晕啊。直接数组不可以实现吗
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马