第五章:循环和关系表达式
一、复习题
1. 入口条件循环在循环开始前判断条件,出口条件循环在循环结束后判断条件;for、while循环属于入口条件循环,do-while循环属于出口条件循环。
2. 0 1 2 3 4
3. 0 3 6 9
12
4. 6
8
5. k = 8
6. for(int i = 1; i <= 64; i *= 2){
cout << i << " ";
}
7. 用花括号将多条语句一起括起来
8. 有效,它将把(024是8进制下的24,转换为10进制为20)20赋值给变量x;无效
9. 第一条语句会跳过空格和换行符和制表符,其他两种格式将读取这些字符
二、编程练习
1.
#include <iostream>
using namespace std;
int main() {
cout << "Enter the first num: " << endl;
int num1;
cin >> num1;
cout << "Enter the second num: " << endl;
int num2;
cin >> num2;
int sum = 0;
for (; num1 <= num2; num1++) {
sum += num1;
}
cout << "the sum is " << sum << endl;
return 0;
}
2.
#include <iostream>
#include <array>
using namespace std;
int main() {
array<long double, 100> fac;
fac[0] = 1;
fac[1] = 1;
for (int i = 2; i < 100; i++) {
fac[i] = i * fac[i - 1];
}
cout << "100! = " << fac[99];
return 0;
}
3.
#include <iostream>
using namespace std;
int main() {
int sum = 0;
int num = 0;
do {
cout << "Enter the num plz: " << endl;
cin >> num;
cout << "the sum now is: " << (sum += num) << endl;
} while (num != 0);
return 0;
}
4.
#include <iostream>
using namespace std;
const double profit_Daphne = 0.1;
const double profit_Cleo = 0.05;
int main() {
double money_Daphne = 100;
double money_Cleo = 100;
int year = 0;
while (money_Cleo <= money_Daphne) {
money_Daphne += 100 * profit_Daphne;
money_Cleo += money_Cleo * profit_Cleo;
year++;
}
cout << "year: " << year << endl;
cout << "Daphne's money: " << money_Daphne << endl;
cout << "Cleo's money: " << money_Cleo << endl;
}
5.
#include <iostream>
using namespace std;
int main() {
int sum = 0;
int num[12];
const char *months[12] = {"1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"};
for (int i = 0; i < 12; i++) {
cout << months[i] << endl;
cin >> num[i];
sum += num[i];
}
cout << "sum: " << sum << endl;
return 0;
}
6.
#include <iostream>
using namespace std;
int main() {
int total_sum = 0;
int num[3][12];
const char *months[12] = {"1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"};
for (int year = 0; year < 3; year++) {
int sum = 0;
for (int i = 0; i < 12; i++) {
cout << months[i] << " : ";
cin >> num[year][i];
sum += num[year][i];
}
cout << "year " << (year + 1) << " : " << sum << endl;
total_sum += sum;
}
cout << "total sum: " << total_sum << endl;
return 0;
}
7.
#include <iostream>
#include <string>
using namespace std;
struct Car {
string brand;
int year;
};
int main() {
cout << "How many cars do you wish to catalog? ";
int num;
cin >> num;
Car *cars = new Car[num];
for (int i = 0; i < num; i++) {
Car car;
cout << "Car #" << (i + 1) << " : " << endl;
cin.get();
cout << "Plz enter the make: ";
getline(cin, car.brand);
cout << "Plz enter the year made: ";
cin >> car.year;
cars[i] = car;
}
for (int i = 0; i < num; i++) {
cout << cars[i].year << " " << cars[i].brand << endl;
}
delete[] cars;
return 0;
}
8.
#include <iostream>
using namespace std;
int main() {
char words[10];
int count = 0;
cout << "Enter words (to stop, type the word done) : " << endl;
do {
cin >> words;
count++;
} while (strcmp(words, "done"));
cout << (count - 1) << endl;
return 0;
}
9.
#include <iostream>
#include <string>
using namespace std;
int main() {
string words;
int count = 0;
cout << "Enter words (to stop, type the word done) : " << endl;
do {
cin >> words;
count++;
} while (words != "done");
cout << (count - 1) << endl;
return 0;
}
10.
#include <iostream>
using namespace std;
int main() {
cout << "plz enter a num: " << endl;
int size;
cin >> size;
for (int i = 1; i <= size; i++) {
for (int j = size - i; j > 0; j--) {
cout << ".";
}
for (int k = 1; k <= i; k++) {
cout << "*";
}
cout << endl;
}
return 0;
}