(C++)输入任意个实数(10~100个),计算平均值,升序输出所有数(包括平均值在内)的问题。
PHP中文网
PHP中文网 2017-04-17 13:15:43
0
3
791

我突然发现自己并不知道如何计算一个数组已经被赋值过的元素个数,求教。百度上也没有搜到这种,都是固定个数算平均数的题目。。。

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(3)
黄舟

如果使用Vector這樣的容器,直接使用其size()方法就可以知道大小,如果是普通的數組,要么是初始化為一個正常資料裡不可能出現的值,要么是在輸入時增加一個計數器,計算出輸入元素的數量

小葫芦
#include <iostream>
#include <algorithm>
#include <cassert>
const int MAXN = 101;
double array[MAXN];
double sum = 0;
int counter = 0;

int main() {
    for (;std::cin >> array[counter]; sum += array[counter++]) {}
    assert(counter != 0);
    array[counter++] = sum / static_cast<double>(counter);
    std::sort(array, array + counter);
    for (int i = 0;i < counter; i++) {
        std::cout << array[i] << " ";
    }
    return 0;
}

丟程式碼跑

巴扎黑
int cnt = 0 ;
double sum = 0 ; 
double a[];
// 未知个数主要是加一个计数器,就是输入一个数计数器cnt加一
while(cin>>n){
    a[cnt] = n;
    cnt ++ ;
    sum += cnt ;
}
// 这部分主要是排序的问题,已经转化成已知个数的数组的排序了,各种排序算法。。
sort();
output()

從人的角度看 :輸入一個數,數量加一
從程式碼/機器角度 :數量是cnt記錄,輸入一個cnt++

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板