要求循环结构,用C++编写

img

题目描述
编写程序:从键盘上输入若干学生的成绩以EOF作为结束标志统计并输出其中的最高成绩
及平均成绩
输入
输入学生成绩,以EOF作为结束标志。
输出
最高分和平均分
样例输入
86
90.5
Z
样例输出
max=90.5
average=88.2

C++代码如下:

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    double score,max=-1,avg=0;
    int cnt = 0;
    while(1)
    {
        cin >> score;
        if(cin.eof()) break;
        if (score > max)
        {
            max = score;
        }
        avg += score;
        cnt++;
    }
    if(cnt>0)
    {
        cout << "max=" << fixed << setprecision(1)<<max<<endl;
        cout <<"average="<<fixed<<setprecision(1)<<avg/cnt<<endl;
    }
    return 0;

}

#include "stdio.h"
void main()
{
    float a[10];
    int cnt=0;
    int max = 0;
    while(scanf("%f",&a[cnt]) != EOF){
        
        if(max<a[cnt])
            max=a[cnt];
        cnt++;
        
    }
    printf("max=%f,平均成绩:%0.2f",max,max/cnt);
}
#include<stdio.h>
int main()
{
    float n,max=-1,sum=0;
    int count=0;
    while(scanf("%f",&n)!=EOF)
    {
        if (n>max)
            max=n;
        sum += n;
        count++;
    }
    printf("max=%.1f\n", max);
    printf("average=%.1f\n", sum/count);
    return 0;
}

img

如有帮助,望采纳!谢谢!