首页 > 编程语言 >编写一个程序,提示用户输入3组数,每组数包含5个double类型的数(假设用户都能正确的响应,不会输入非数值数据)。该程序应完成下列任务。 a.把用户输入的数组都放在3*5的数组中 b.计算每组(5个

编写一个程序,提示用户输入3组数,每组数包含5个double类型的数(假设用户都能正确的响应,不会输入非数值数据)。该程序应完成下列任务。 a.把用户输入的数组都放在3*5的数组中 b.计算每组(5个

时间:2024-07-31 23:39:37浏览次数:10  
标签:平均值 double 每组 用户 数组 输入

/编写一个程序,提示用户输入3组数,每组数包含5个double类型的数(假设用户都能正确的响应,不会输入非数值数据)。该程序应完成下列任务。
a.把用户输入的数组都放在3
5的数组中
b.计算每组(5个)数组的平均值
c.计算所以数据的平均值
d.找出这15个数据中的最大值
e.打印结果*/

#include <stdio.h>
#define ROWS 3
#define COLS 5
void output(double dub, char *str);
void scanf_fun(int rows, int cols,double buff[rows][cols])
{
    printf("please enter 3 buff 5 number\n");
    for(int i=0;i<rows;i++)
    {
        for(int j=0;j<cols;j++)
        {
            printf("please enter %d buff %d number\n",i+1,j+1);
            scanf("%lf",&buff[i][j]);
        }
    }
}
double agv_fun(double *buff,int n)
{
    double sum=0.0;
    double agv=0.0;
    for(int i=0;i<n;i++)
    {
        sum+=buff[i];
    }
    agv=sum/n;
    return agv;
}
double agv_all(int rows, int cols,double buff[rows][cols])
{
    double sum=0.0;
    double agv=0.0;
    for(int i=0;i<rows;i++)
    {
        sum=agv_fun(buff[i],cols);
        
    }
    agv=sum/rows;
    return agv;
}
double max_fun(int rows, int cols,double buff[rows][cols])
{
    double temp=0.0;
    for(int i=0;i<rows;i++)
    {
        for(int j=0;j<cols;j++)
        {
            if(temp<buff[i][j])
            {
                temp=buff[i][j];
            }
        }
    }
    return temp;
}
void output(double dub, char *str)
{
    printf("%s:%.2f\n",str,dub);
}
int main(void)
{
    double buff[3][5];
    double agv_all;
    double agv;
    double max;
    scanf_fun(ROWS,COLS,buff);
    for(int i=0;i<ROWS;i++)
    {
        agv=agv_fun(buff[i],COLS);
        output(agv,"agv");
    }
    agv_all=max_fun(ROWS,COLS,buff);
    output(agv_all,"agv_all");
    max=max_fun(ROWS,COLS,buff);
    output(max,"max");
    return 0;
}

标签:平均值,double,每组,用户,数组,输入
From: https://www.cnblogs.com/yesiming/p/18335746

相关文章

  • js中数组方法reduce的妙用
            在JavaScript中,reduce()是数组的一个方法,它用于将数组中的所有元素按照指定的函数进行合并并返回一个结果。使用reduce()方法,可以对数组进行求和、累加等操作。        我一直陷入固有思维,一直只使用reduce来进行累加操作。今天在做项目时在要进行复......
  • day8——数组
    数组字符串长度定义:'\0'前面字符的个数例如:“hello”字符的长度是5个,所占的内存空间的字节数是6个。字符串函数注:用字符串函数时需要加头文件<string.h>strlen函数函数原型:size-tstrlen(constchar*s);功能:计算字符串长度参数s:表示的是需要一个指针;参数形式:可以是......
  • 数组part01
    2024年7月31日,今日复习了数组的基础知识;巩固了二分法的写法,保证可以快速准确写出;学习了双指针的应用,双指针是为了让多个for循环压缩为一个循环,学习的时候尤其注意循环的写法。1.数组基础知识定义:数组是存放在连续内存空间上的相同类型数据的集合。几个特点:数组下标都是从0开......
  • 学习日记:一维字符型数组
    目录1.格式2.字符串长度3.字符数组的输入输出3.1gets函数3.2puts函数3.3scanf函数3.4printf函数4.字符串处理函数4.1strlen函数(计算数组长度)4.2strcpy函数(复制字符串)4.3strcat函数(拼接字符串)4.4strcmp函数(比较字符串)1.格式数据类型数组名[数......
  • 多输入多输出预测:在Scikit-Learn中打造灵活的机器学习模型
    多输入多输出预测:在Scikit-Learn中打造灵活的机器学习模型在机器学习领域,Scikit-learn(简称sklearn)是一个功能强大且广泛使用的Python库。它提供了众多简单而有效的工具,用于数据挖掘和数据分析。然而,sklearn大多数内置的模型仅支持单输入单输出(SISO)的预测。当面对多输入多输......
  • 数组(二)———数组的排序算法①
    目录冒泡排序基本步骤:复杂度分析实现示例(Java):选择排序基本步骤:复杂度分析实现示例(Java):插入排序基本步骤:复杂度分析实现示例(Java):希尔排序基本步骤:复杂度分析实现示例(Java):归并排序基本步骤:复杂度分析实现示例(Java):冒泡排序定义:冒泡排序(BubbleSort)是......
  • 后缀数组学习笔记
    前言后缀数组(SuffixArray,简称SA)是一种解决某些字符串问题的常用工具。解决这些字符串问题时,经常用后缀数组对问题进行一定的转化成其它的模型,然后套用那个模型的解决方法加以解决原问题。附题单约定本文做以下约定:本文撰写时间跨度较大,有些符号会出现正体、斜体混用的情......
  • 树状数组 | 维护区间和
    1.树状数组的定义树状数组(BinaryIndexedTree,简称BIT)是一种数据结构,能够高效地进行前缀和查询和单点更新操作。树状数组常用于解决频繁的区间和查询问题。2.树状数组的构建树状数组使用一个数组BIT[]来维护数据,其中BIT[i]存储从某个位置到当前位置的区间和。构建树状数组的......
  • 自定义Obsidian输入栏宽度
    自定义Obsidian输入栏宽度以Obsidian的主题Minimal为案例,进行输入栏宽度的调整;若是没有此主题Minimal,通过设置找到外观后,主题那栏点击管理输入Minimal进行下载(这个主题还是挺不错的);点击左下角设置,选择外观,点击文件夹,找到对应的.css文件文件夹的......
  • AntD单位搜索树两种情况(第一种情况:全局已有数据下过滤、第二种情况:根据输入内容搜索查
    a-tree-select <a-tree-select style="width:260px" v-model:value="formState.userOrgCode" show-search :show-checked-strategy="SHOW_PARENT" :tree-data="TreeData"......