请会C语言打大佬帮忙解答

利用数组实现一下功能:从键盘任意输入若干个整数(不超过100个且当输入-1时程序结束),输出这些整数的平均值,以及高于次平均值的整数个数


#include "stdio.h"
void main()
{
	/*
	利用数组实现一下功能:从键盘任意输入若干个整数(不超过100个且当输入-1时程序结束),输出这些整数的平均值,
	以及高于次平均值的整数个数
	*/
	int a[100];
	int cnt=0;
	int num;
	int i;
	float sum = 0;
	int count = 0;
	printf("请输入整形数,输入-1时结束\n");
	while(1){
		scanf("%d",&num);
		if(num == -1)
			break;
		a[cnt++] = num;
		sum = sum+num;
	}
	sum = sum /cnt;
	printf("平均数是:%0.2f\n",sum);
    for(i=0;i<cnt;i++){
    	if(sum>a[i]){
    		count++;	
    	}
    }
    printf("大于平均数的个数是:%d\n",count);
}

 

有个问题,次平均数是啥意思?还是说就是统计大于平均数的个数,只是您发错字了。

代码如下。输入 'q' 终止程序。

#include<stdio.h>

int main() {
    int arr[100];
    int n = 0;
    int sum = 0;
    while (n < 100 && scanf("%d", &arr[n]) == 1) {
        sum += arr[n];
        n++;
    }

    double avg = sum * 1.0 / n;
    int cnt = 0;
    for (int i = 0; i < n; i++)
        if (arr[i] > avg)
            cnt++;

    printf("平均值=%.2lf,高于平均值的个数=%d\n", avg, cnt);

    return 0;
}

 

#include<stdio.h>
int main() {
    int i=0,j,cnt=0;
    float sum=0,ave=0,n=0,x[101];
    while(1){

        scanf("%f",&x[i]);
        if(x[i]==-1){
            break;
        }
        n++;
        sum+=x[i];
        i++;
    }
    ave=sum/n;
    for(i=0;i<n;i++){
        if(x[i]>ave){
             cnt++;
        }
    }
    printf("平均数是%f",ave);

    printf("高于平均数有%d个",cnt);
    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632