佐佐人登山 2021-11-03 21:07 采纳率: 66.7%
浏览 1845
已结题

C语言查找数组中的最大值和最小值、计算平均值

1、定义一个大小为10的整型一维数组d和大小为6的单精度浮点型数组x,要求使用符号常量代替10和6(如 #define M 6,M即为符号常量,代表6),将数组d初始化为“10, 2, 3, 4, 5, 50, 11, 20, 10, 9”。应用循环语句,从键盘给数组x的各元素输入数据,注意数据类型和输入格式字符匹配,要求数据大小不相等。
2、查找并输出数组d中的最大值和最大值对应的下标; 查找并输出数组d中的最小值和最小值对应的下标。在不同行输出最大值和最小值及其下标。
3、求数组x中各元素之和的平均值并输出平均值(保留2位小数),另外输出x中元素小于平均值的所有元素的下标和元素值,输出元素数据保留2位小数,数据项之间有空格,每个元素输出在不同的行。
按以上要求编写程序。

  • 写回答

2条回答 默认 最新

  • 关注
    #include <stdio.h>
    #define N 10
    #define M 6
    int main()
    {
        int d[N]={10,2,3,4,5,50,11,20,10,9};
        float x[M];
        int i;
        int maxv=d[0],maxIndex = 0,minv=d[0],minIndex =0;
        float avg = 0;
        int sum = 0;
        //给x赋值
        printf("请输入%d个大小不等的浮点型数据:",M);
        for(i=0;i<M;i++)
            scanf("%f",&x[i]);
    
        //找d中的最大值和最小值
        for (i=1;i<N;i++)
        {
            if(d[i] > maxv)
            {
                maxv = d[i];
                maxIndex = i;
            }
            if(d[i] < minv)
            {
                minv = d[i];
                minIndex = i;
            }
        }
        printf("数组d中的最大值为%d,下标为%d\n",maxv,maxIndex);
        printf("数组d中的最小值为%d,下标为%d\n",minv,minIndex);
    
        //计算平均值
        for(i=0;i<M;i++)
            avg += x[i];
        avg=avg/M;
    
        printf("数组x的平均值为%.2f\n",avg);
        //求小于平均值的下标和
        printf("数组x中小于平均值的值及其下标:\n");
        for (i=0;i<M;i++)
        {
            if(x[i] < avg)
                printf("值:%.2f 下标:%d\n",x[i],i);
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月8日
  • 已采纳回答 11月3日
  • 创建了问题 11月3日

悬赏问题

  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持