1. 编写一个要求用户输入两个整数的程序。该程序将计算并输出这两个整数之间(包括这两个整数)所有整数的和。这里假设先输入较小的整数。例如,如果用户输入的是2和9,则程序将指出2到9之间所有整数的和为44。
// 5-1
#include <iostream>
int main()
{
using namespace std;
int num1 = 0, num2 = 0;
cout << "Please enter two numbers." << " The first one: ";
cin >> num1;
cout << "The second one:";
cin >> num2;
int sum = 0;
for (int i = num1; i <= num2; ++i) {
sum += i;
}
cout << "The sum is: " << sum << endl;
return 0;
}
2. 使用array对象(而不是数组)和long double(而不是long long)重新编写程序清单5.4,并计算100!的值。
// 5-2
#include <iostream>
#include <array>
const int ArSize = 100;
int main()
{
using namespace std;
array<long double, ArSize+1> factorials;
factorials[0] = factorials[1] = 1.0;
for (int i = 2; i <= ArSize; ++i) {
factorials[i] = i * factorials[i - 1];
}
cout << factorials[ArSize] << endl;
return 0;
}
3. 编写一个要求用户输入数字的程序。每次输入后,程序都将报告到目前位置,所有输入的累计和。当用户输入0时,程序结束。
// 5-3
#include <iostream>
int main()
{
using namespace std;
int sum_now = 0;
cout << "请输入数字,输入0时结束:";
int num = 0;
do {
cin >> num;
sum_now += num;
cout << "现在的数字和为:" << sum_now << endl;
} while (num);
cout << "结束" << endl;
return 0;
}