C語言、C++筆記-不使用數組,計算若干數的最大值、最小值和平均值

前言

之前在學習C語言的時候遇到了一個問題,就是在沒有學習數組的情況下,如何計算多個數的最大值、最小值還有平均值。後來是使用了其他人的代碼完成的,沒有去思考如何去做,有點遺憾。
有一個剛學習C++的朋友也遇到了這個問題,正好這次可以真正地解決一下這個問題。

題目

連續輸入若干數,當輸入停止時,輸出這些數中的最大值、最小值、平均值。

注:主要的原理就是通過一個變量,多次地使用它,從而實現多個變量的效果。
每個人遇到的題目不一樣,你可以根據題目的意思來變更相應的代碼。

C語言代碼

//作者:小狐狸
//QQ:1307509553
#include<stdio.h>
int main()
{
    int i;
    int n;
    printf("個數:");
    scanf("%d",&n);
    float sum=0;//和
    float Max;//最大值
    float Min;//最小值
    for(i=1;i<=n;i++)//計算前n個數
    {
        float x;//臨時變量
        scanf("%f",&x);
        sum+=x;//求和
        if(i==1)//初始化最大值、最小值
        {
            Max=Min=x;
        }
        if(i!=1&&Max<x)//當前值大於最大值時
            Max=x;
        if(i!=1&&Min>x)//當前值小於最小值時
            Min=x;
    }
    printf("最大值:%f\n",Max);
    printf("最小值:%f\n",Min);
    printf("平均值:%f\n",sum/n);
    return 0;
}


C++代碼

//作者:小狐狸
//QQ:1307509553
#include<iostream>
using namespace std;
int main()
{
    int i;
    int n;
    cout<<"個數:";
    cin>>n;
    float sum=0;//和
    float Max;//最大值
    float Min;//最小值
    for(i=1;i<=n;i++)//計算前n個數
    {
        float x;//臨時變量
        cin>>x;
        sum+=x;//求和
        if(i==1)//初始化最大值、最小值
        {
            Max=Min=x;
        }
        if(i!=1&&Max<x)//當前值大於最大值時
            Max=x;
        if(i!=1&&Min>x)//當前值小於最小值時
            Min=x;
    }
    cout<<"最大值:"<<Max<<endl;
    cout<<"最小值:"<<Min<<endl;
    cout<<"平均值:"<<sum/n<<endl;
    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章