84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
我突然发现自己并不知道如何计算一个数组已经被赋值过的元素个数,求教。百度上也没有搜到这种,都是固定个数算平均数的题目。。。
认证高级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++