编程:输入20位学生的成绩,求出平均分,并输出高于平均分的同学的成绩

如题所述

namespace test
{
class Program
{
static void Main(string[] args)
{
int [] scoreArr = {65,78,31,98,11,99,88,99,87,100,43,66,74,32,76,73,82,11,32,66};
for (int i = 0; i < scoreArr.Length;i++ )
{
Console.Write(scoreArr[i].ToString()+",");
if (i == scoreArr.Length - 1)
Console.WriteLine();
}
Console.WriteLine("平均成绩:{0}",AVG(scoreArr));
Console.WriteLine("大于平均成绩的有:");
for (int j = 0; j < scoreArr.Length; j++)
{
if (scoreArr[j] >= AVG(scoreArr))
{
Console.WriteLine(scoreArr[j].ToString());
}
}
Console.ReadKey();
}
/// <summary>
/// 求平均值
/// </summary>
/// <param name="score">成绩数组</param>
/// <returns></returns>
private static int AVG(int[] score)
{
int sum=0;
int num = score.Length;
for (int i = 0; i < score.Length;i++ )
{
sum += score[i];
}
return sum / num;
}
}
}

都是求整数的,至于浮点改下类型哦。。。。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-15
#include<stdio.h>
#define N 8
main()
{int i,max=0,g=0,s=0,a[N];double v;
for(i=0;i<N;i++)
{scanf("%d",a+i);s=s+a[i];if(a[i]>=a[max])max=i;}
v=s/N;
for(i=1;i<=N;i++)
if(a[i]>v)
g++;
printf("大于平均成绩%.2lf有%d人其中最高分%d",v,g,a[max]);
}
相似回答