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

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日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部