码迷,mamicode.com
首页 > 其他好文 > 详细

用C随机产生的正整数存到数组中,并求数组中的所有元素最大值、最小值、平均值以及各元素之和,及第二大值。

时间:2014-07-21 22:28:17      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:平均值   最大值   正整数   第二大值   

用 C 求一组随机数的第二大值,不能通过对整体排序求得

1 随机产生20个[10 , 50]的正整数存到数组中,并求数组中的所有元素最大值、最小值、平均值以及各元素之和,及第二大值。
    
    int a[20];
    int sum = 0; //存储数组元素的和
    //为数组赋值
    printf("数组中的元素为:\n ");
    for (int i = 0; i < 20; i ++) {
        a[i] = arc4random() % 41 + 10;
        sum += a[i];   // 对数组中的数求和
        printf("%d ",a[i]);
    }
    printf("\n");
    int max = a[0];   //存储数组中的最大值
    int min = a[0];   //存储数组中的最小值
    int second = a[0];//存储数组中第二大值
    int ave = 0;      //存储平均值
    ave = sum / 20;
    for (int i = 1; i < 20 ; i ++) {
        // 求数组中的最大值
        if (a[i] > max) {
            max = a[i];
        }
        // 求数组中的最小值
        if (a[i] < min ) {
            min = a[i];
        }
    }
    // 求数组中的第二大值
    for (int i = 1; i < 20; i ++) {
        if (second < max && second < a[i]) {
            if (a[i] == max) {
                continue;
            }
            second = a[i];
        }
    }
    
    printf("最大值为:%d\n",max);
    printf("最小值为:%d\n", min);
    printf("这些数的平均值为:%d\n",ave );
    printf("第二大值为:%d\n", second);
    

用C随机产生的正整数存到数组中,并求数组中的所有元素最大值、最小值、平均值以及各元素之和,及第二大值。

标签:平均值   最大值   正整数   第二大值   

原文地址:http://9178463.blog.51cto.com/9168463/1441055

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!