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

int a[20] = {0};//定义一个长度为20的数组a
    int max = 0;//用来存储数组a中所有元素的最大值
    int min = 0;//用来存储数组a中所有元素的最小值
    int sum = 0;//用来存储数组a各元素的和
    float aver = 0.0;//用来存储数组a中所有元素的平均值
    int secondMax = 0;//用来存储数组a的第二大值,第二大值 为 不同于最大值的剩余元素的最大值
    for (int i = 0; i < 20; i++) {//用来循环获取20个随机值,并把它们放到数组a中相应的位置,并把获取到的数打印出来
        a[i] = arc4random() % (50 - 10 + 1) + 10;
        sum += a[i];//计算数组a中元素的值
        printf("%d ", a[i]);
    }
    aver = (float)sum / 20;
    printf("sum = %d aver = %f\n", sum, aver);

    for (int i = 0; i < 20; i++) {
        if (i == 0) {//把a[0]的值赋值给max 和 secondMax, min,主要是为了防止获取到的20个数都比max 和 secondMax最初定义时赋的值小, 或者都比min大,从而影响正确的结果,在此处max 和 secondMax 没有这种情况,因为随机值的范围是10~50,这里写出只是为了标示出可能会出现这种情况,同时,防止min出现这种情况
            max = a[i];
            secondMax = a[i];
            min = a[0];
        } else {
            if (max < a[i]) {
                secondMax = max;
                max = a[i];
            } else if (secondMax < a[i] && a[i] != max) {
                secondMax = a[i];
            }

            if (min > a[i]) {
                min = a[i];
            }
        }
    }
    printf("max = %d min = %d secondMax = %d", max, min, secondMax);

时间: 2024-10-29 19:09:03

随机产生20个[10 , 50]的正整数存到数组中,并求数组中的所有元素最大值、最小值、平均值以及各元素之和,及第二大值。的相关文章

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

用 C 求一组随机数的第二大值,不能通过对整体排序求得 1 随机产生20个[10 , 50]的正整数存到数组中,并求数组中的所有元素最大值.最小值.平均值以及各元素之和,及第二大值.        int a[20];    int sum = 0; //存储数组元素的和    //为数组赋值    printf("数组中的元素为:\n ");    for (int i = 0; i < 20; i ++) {        a[i] = arc4random() % 41 +

2016/1/10 实例 1,控制台 输入人数 2,控制台 输入对应人数的成绩 3,求成绩总和以及最大值 最小值 平均值

1 import java.util.Scanner; 2 3 4 public class KongZhitai { 5 6 7 public static void main(String[] args) { 8 // TODO 自动生成的方法存根 9 10 //第一步 输出 扫描 接收 人数 11 int number=0; //定义变量 12 System.out.println("请输入人数:"); 13 Scanner arr=new Scanner(System.in);

实用的随机数生成类Random:测试(随机产生100个不重复的正整数)

实用的随机数生成类Random:测试(使用Random类随机生成100个不重复的正整数) 一.之前我们使用随机数用的是Math类的random()方法: tips: 产生随机数(0~9中任意整数)的方法:int random = (int)(Math.random()*10); 1.商场幸运抽奖程序. 会员号的百位数字等于产生的随机数即为幸运会员. public class GoodLuck{ public static void main(String[] args){ //产生随机数 int

随机产生20个单词

随机产生20个单词 一.问题来源: 老师给了一份专业单词word,说第二天要全背下来.错了就五十遍啊五十遍. 然后,有人提出要做一个产生随机单词的Demo,来测试自己. 老师表示呵呵,做出来的就可以不用听写. 顿时,我就表示,是可忍,孰不可忍啊.这是在侮辱我们啊.这票我干了,不能让人看低了.我这么做绝对不是为了逃避五十遍,真的. 二.问题思考: 写Demo之前,先思考一下这个程序的逻辑. 首先,我要导入数据,然后将数据转化为便于使用的数据类型. 导入数据方面,我选择了直接复制,然后以字符串的形式

SQL 2008升级SQL 2008 R2完全教程或者10.00.1600升级10.50.1600

今天将由于需要就将我的SQL 2008升级到SQL 2008 R2. 说到为什么要升级是因为,从另一台机器上备份了一个数据库,到我的机器上还原的时候提示“System.Data.SqlClient.Sqlerror:该数据库是在运行版本10.50.2500的服务器上备份的,该版本与此服务器(运行版本10.00.1600)不兼容.请在支持该备份的服务器上还原数据库,或者使用与此服务器兼容的备份.” 经过一番查证得知: 所谓的10.00.1600其实就是SQL 2008 10.50.1600其实就是

代码代码:输入两个正整数m和n,求其最大公约数和最小公倍数。15 20 5

import java.util.Scanner; //输入两个正整数m和n,求其最大公约数和最小公倍数.15 20 5 public class Test { public static void main(String[] args) { int n = inNumber(); int m = inNumber(); int yue = 1; int bei = m*n; for (int i = 2; i < n*m; i++) { if (m % i == 0 && n %

GAMIT 10.50在Ubuntu 12.04系统下的安装

转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0225/162.html?1456480908 摘要:GAMIT/GLOBK是一套安装于Unix/Linux操作系统高精度GPS数据处理分析软件,以Ubuntu12.04桌面版构建系统平台,在网络的支持下,安装最新版GAMIT/GLOBK10.50的详细过程,并运行GAMIT检验安装是否成功. GAMIT/GLOBK是由美国麻省理工学院.斯克里普斯海洋研究所.哈佛大学共同研发的高精度GPS数据处理

背水一战 Windows 10 (50) - 控件(集合类): ItemsControl - 基础知识, 数据绑定, ItemsPresenter, GridViewItemPresenter, ListViewItemPresenter

原文:背水一战 Windows 10 (50) - 控件(集合类): ItemsControl - 基础知识, 数据绑定, ItemsPresenter, GridViewItemPresenter, ListViewItemPresenter [源码下载] 作者:webabcd 介绍背水一战 Windows 10 之 控件(集合类 - ItemsControl) 基础知识 数据绑定 ItemsPresenter GridViewItemPresenter ListViewItemPresent

Bentley STAAD.Pro V8i (SELECTSeries 5) 20.07.10.64 1CD

TecnoMETAL BIM Suite 2015 for AutoCAD 2014-2015 Win64 1CD钢结构设计软件TecnoMETAL套件允许用户使用交互和有用特性的组合钢结构的设计和更低的价格不是单独的软件.TecnoMETAL套件中可用4版本每个致力于一个特定的专业需求.TecnoMETAL BIM套件标准 AutoCAD应用软件致力于2 d绘图和检查钢结构的连接.TecnoMETAL BIM套件高端设计版 AutoCAD应用软件致力于2 d和3 d绘图和检查钢结构的连接.TE