利用数组实现一下功能:从键盘任意输入若干个整数(不超过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