参考代码:

#include <stdio.h>

int main()
{
    int n[9], sum = 0,average,cnt = 0,sign = 0;
    for (int i=0; i<10; i++)
    {
        scanf("%d",&n[i]);
        sum += n[i];
        cnt++;
    }

    average = sum / cnt;


    for (int i=0; i<10; i++)
    {
        if(n[i] > average)
        {
            sign++;
        }
    }

    printf("%d",sign);

    return 0;
}


点赞(0)
 

0.0分

4 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 9 条评论

风迹浪子 3年前 回复TA
@vivia 题目不是输出平均数,是输出比平均数打的数的个数
01 3年前 回复TA
本来就是错的
01 3年前 回复TA
@青屰 没有
vivia 3年前 回复TA
#include<stdio.h>
void main()
{
	int i,a,s=0;
	float aver;
	for(i=0;i<10;i++)
	{
		scanf("%d",&a);
	s=s+a;
	}
	aver=(float)s/10;
	printf("%f\n",aver);
}
这个为什么不对?
我亦无他惟手熟尔 3年前 回复TA
@青屰 数组越界
青屰 3年前 回复TA
你的代码错了吧,n[9]代表有9个元素,题目要求10个元素,虽然你这样计算出的结果没错;这样子应该属于语法错误
青屰 3年前 回复TA
@flipped 你使用变量为下标定义数组,首先这顺序也不对,计算机是按照顺序来的,你先定义数组,而数组里面的变量计算机又不知晓,所以错了
青屰 3年前 回复TA
@flipped 不建议使用变量为下标定义数组.虽然有些编译器支持,但这是不标准的.使用常量来定义数组
flipped 3年前 回复TA
#define _CRT_SECURE_NO_WARNINGS  1
#include<stdio.h>
#define N 20

int main()
{
    int arr1[N], sum = 0, n = 10, a = 0, i;
    double ave;
    printf("请输入%d个数字:", n);
    for (i = 0; i <= n - 1; i++)
    {
        scanf("%d", &arr1[i]);
        sum = sum + arr1[i];
    }
    ave = sum / n;
    for (i = 0; i <= n - 1; i++)
    {
        if (arr1[i] > ave)
            a++;
    }
    printf("%d",a);
    return 0;
}
为什么我这也错