C/C++語言入門——輸出學生成績(平均成績、最高成績、最低成績)


一、問題呈現

1.問題描述

Problem Description

本題要求編寫程序,根據輸入學生的成績,統計並輸出學生的平均成績、最高成績和最低成績。

2.輸入輸出

Input

輸入第一行首先給出一個正整數N,表示學生的個數。接下來一行給出N個學生的成績,數字間以空格分隔。

Output

按照以下格式輸出:
average = 平均成績
max = 最高成績
min = 最低成績
結果均保留兩位小數

3.測試樣例

樣例1

Sample Input

5
80 90 100 90 80

Sample Output

average = 88.00
max = 100.00
min = 80.00
樣例2

Sample Input

5
80 90 100 70 80

Sample Output

average = 84.00
max = 100.00
min = 70.00

二、源碼實現(+注釋)

//編碼及注釋:Code_流蘇
//定義頭文件
#include<stdio.h>
#include<stdlib.h>
//f函數 用於實現最大值和最小值的遍歷查找
double f(int *a,int n,int m)
{
    int i;
    //定義index整型變量 並初始化為0 用於存儲最大值和最小值下標索引
    int index=0;
    //循環遍歷 查找最大值和最小值
    for(i=1;i<n;i++)
    {
        if(m==1)
        {
            if(a[i]>=a[index]) index=i; //查找最大值
        }
        else
        {
            if(a[i]<=a[index]) index=i;//查找最小值
        }
    }
    //返回浮點值
    return a[index]/1.0; 
}
//主函數
int main()
{
	//定義變量N用於存儲及輸入學生人數
    int N;
    //定義數組 用於 存儲 循環遍歷
    int arr[10005];
    printf("請輸入學生人數:");
    scanf("%d",&N);
    int i;
    //定義sum用於存儲求和之后的值
    int sum=0;
    printf("請輸入這些學生的成績:");
    //循環遍歷求和 
    for(i=0;i<N;i++)
    {
        scanf("%d",&arr[i]);
        sum+=arr[i];
    }
    //輸出平均數
    printf("average = %.2lf\n",sum/(double)N);
    //輸出最大值
    printf("max = %.2lf\n",f(arr,N,1));
    //輸出最小值
    printf("min = %.2lf\n",f(arr,N,2));
    //返回0,代表程序執行結束
    return 0;

}

三、測試圖

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM