C++ Primer 第四版课后练习解答 习题1.14

注意:本随笔是直接参考《C++Primer(第四版)习题解答(完整版)》中的。此处主要是便于本人以后反复阅读。

习题1.14

如果输入值相等,本节展示的程序将产生什么问题?

 

 1 #include <iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     cout << "Enter two values:" << endl;
 7     int val1, val2;
 8     int lower, upper;
 9     int sum = 0;
10     cin >> val1 >> val2;
11     if (val1<=val2)
12     { 
13         lower = val1;
14         upper = val2;
15     }
16     else
17     {
18         lower = val2;
19         upper = val1;
20     }
21 
22     for (int val1 = lower; val1 <= upper;++val1)
23     {
24         sum += val1;
25     }
26     cout << "The sum of " << lower << "to " << upper << "inclusive is " << sum << endl;
27     return 0;
28 }

【解答】

sum 的值即为输入的值。因为输入的Val1和val2值相等(假设为4),所以lower和upper相等,均为4。for循环中的循环变量val1初始化为lower,从而val1<=upper为真,循环体执行一次,sum的值为Val1(即输入值4):然后val1加1,val1的值就大于upper,循环执行结束。

posted @ 2017-03-12 21:04  haihai187  阅读(167)  评论(0编辑  收藏  举报