因为前面那一节实在是太长了,所以我后来决定每个实例分别做成一节。这样也方便查阅。
以下是本节涉及的知识点:
- 从键盘输入一个数组
- 固定大小的数组装入可变数量的元素
- cin的特殊用法
前一节讲述了电脑自动帮我们填入数组的方式。在很多情况下,我们也需要程序运行时,让用户(一般都用这个词来指程序的使用者)从键盘逐个输入数组元素。这个基本上问题都不大,但是还是会有很多变化在里面的。
接下来我们所有的讨论都是基于如下的情景:
让用户从键盘输入一定数量的数字(包括小数和整数),并最终输出所有数字的平均值。
我们可以发现,在这种情景下,我们事前并不知道用户会输入多少数字。这其实相当棘手,因为C++里面的数组只能是固定的大小,这个大小在程序运行前就必须要确定(因为数组大小必须用常量确定)。这种情况,在今后我们学习了new
和delete
动态定义数组后会很容易解决,但目前而言,我们并没有一个十全十美的解决办法。
文章目录
固定输入数量的情况
我们先从一个最简单的情况入手:
用户必须要输入N个数字(假定N=10)并且也会老老实实输入N个数字。
在这种情况下,就比较简单了。我们可以将上述情景分解为如下步骤:
- 定义double型数组
- for循环进行逐个元素的输入
- for循环求和
- 计算平均值并输出
定义常量和数组
首先还是基本的那一套,同时我们定义常量N
和数组,因为输入的数字包括小数和整数,所以这里我们用double
类型存放数字最为合适。(至于定义常量N
的原因在前一节有讲)
#include<iostream>
using namespace std;
int main(){
const int N=10;
double a[N];
}
用循环逐个输入
然后利用for
循环,对数组a
里面的每个元素进行从cin
的输入:
cout<<"请输入"<<N<<"个数:"<<endl;
for(int i=0; i<N; i++){
cin>>a[i];
}
为了看起来更友好一点,我们在输入之前先用cout
输出提示。
求和并计算平均值
接下来就是和上一节同样的东西了:求和并计算平均值:
double sum=0;
double ave=0;
for(int i=0; i<N; i++){
sum+=