题目1(必要的存储量)
数组可以用来保存很多数据,但在一些情况下,并不需要把数据保存下来。下面哪些题目可以不借助数组,哪些必须借助数组?请编程实现。假设输入只能读一遍。
1. 输入一些数,统计个数。
2. 输入一些数,求最大值、最小值和平均数。
3. 输入一些数,哪两个数最接近。
4. 输入一些数,求第二大的值。
5. 输入一些数,求它们的方差。
6. 输入一些数,统计不超过平均数的个数。
代码如下:
#include <stdio.h>
#include <stdlib.h>
void count() // 1题
{
int n, ct = 0;
while(1 == scanf("%d", &n))
++ct;
printf("You've inputted %d numbers\n", ct);
}
void maxMinAverage() // 2题
{
int n, max, min, sum = 0, ct = 0, first = 1;
while(1 == scanf("%d", &n))
{
if(first) { max = min = n; first = 0; }
if(max < n) max = n;
if(n < min) min = n;
sum += n;