设为首页 加入收藏

TOP

6.1 数组(2)
2013-10-07 00:49:05 来源: 作者: 【 】 浏览:61
Tags:6.1 数组

6.1 数组(2)

2.开始定义main()函数并创建一个整数数组。

  1. int main() {  
  2.     const unsigned short ITEMS = 10;  
  3.     int numbers[ITEMS]; 

这段代码中的最后一行包含最新的信息,它将创建一个名为numbers、能容纳10个元素的整数数组。我们没有把这个数字硬编码在程序里,而是使用了一个常量来达到这个目的。

3.告诉用户这个程序需要他们做些什么。

  1. std::cout << "You will be prompted to enter " 
    << ITEMS << " numbers. They can be positive or negative  
  2. →but cannot contain decimals or commas.\n\n"; 

向用户提供一些信息,告诉他们该怎么做。在这里使用常量ITEMS的好处是:如果想扩大或缩小numbers[]数组,只要改动ITEMS常量就可以了,用不着改动这段代码(如图6-1所示)。

4.创建一个for循环,提示用户输入一个数字:

  1. for (int i = 0; i < ITEMS; ++i) {  
  2.     std::cout << "Enter a number: "

这个循环语句是按前述定义的,只是把x替换为ITEMS常量。这个循环将从0计数到ITEMS-1,正好对应numbers[]数组的下标。

5.读入用户的输入。

  1. while (!(std::cin >> numbers[i])) {  
  2.     std::cin.clear();  
  3.     std::cin.ignore(100, '\n');  
  4.     std::cout << "Please enter a valid integer: ";  

所有的用户输入都将通过一个while循环来读入。这段代码在第4章里曾作为一种对付非法输入的手段介绍过。这个程序将尝试读入一个整数并把它存入数组元素numbers[i]。如果不能读入一个合法的整数,这段代码将清除cin并重新提示用户(如图6-2所示)。

 
图6-1 输出一条消息,
让用户知道将会发生什么事情
 
图6-2 如果这个程序无法读入一个合法的整数,
用户将反复看到如图所示的提示

6.结束for循环,然后输出另一条消息。

  1. }  
  2. std::cout << "The following numbers have been recorded:\n"

这个程序将先回显用户输入的各个整数,然后再显示它们的累加结果和平均值。

7.创建一个新变量来保存那些数字的累加和。

  1. int total = 0;  

完全可以把total定义在这个函数的开头,紧跟在数组变量的后面。但等到马上就要用到一个变量的时候才定义它,被认为是一种好习惯。

8.循环遍历整个数组。

  1. for (int i = 0; i < ITEMS; ++i) {  
  2.     std::cout << numbers[i] << "\n";  
  3.     total += numbers[i];  

这个循环语句是按照本节文中所述定义的,但循环体里的语句不一样。请注意,这里必须再次声明一个i变量。C++(www.cppentry.com)里的变量只存在于对它们进行声明的代码块中。前一个i变量已经随着前一个循环语句的结束而不复存在了。

在这个循环里将发生两件事。其一,输出保存在当前数组元素里的数字;其二,把这个数值加到total变量上。

9.输出那些数字的累加结果和平均值。

  1. std::cout << "The sum of the numbers is " 
  2. << total << "\nThe average of the numbers is " 
  3. << (float(total)/ITEMS) << "\n\n"
把total变量发送到标准输出就可以显示那些数值的累加和。平均值是用累加和除以数组元素的个数而得到的。因为整数除法会丢失余数,所以需要在做除法之前把一个整数转换为float类型。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇6.1 数组(3) 下一篇6.1 数组(1)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: