我突然发现自己并不知道如何计算一个数组已经被赋值过的元素个数,求教。百度上也没有搜到这种,都是固定个数算平均数的题目。。。
认证高级PHP讲师
如果使用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++
如果使用Vector這樣的容器,直接使用其size()方法就可以知道大小,如果是普通的數組,要么是初始化為一個正常資料裡不可能出現的值,要么是在輸入時增加一個計數器,計算出輸入元素的數量
丟程式碼跑
從人的角度看 :輸入一個數,數量加一
從程式碼/機器角度 :數量是cnt記錄,輸入一個cnt++