【C++ Primer Plus】编程练习答案——第5章

  1 void ch5_1() {
  2     using namespace std;
  3     int small, big, sum{0};
  4     cout << "enter small and big: " << endl;
  5     cout << "small: "; cin >> small;
  6     cout << "big: "; cin >> big;
  7     for (int i = small; i <= big; ++ i)
  8         sum += i;
  9     cout << "sum between " << small << "and " << big << ": " << sum << endl;
 10 }
 11 
 12 void ch5_2() {
 13     using namespace std;
 14     const int ArrSize = 101;
 15     array<long double, ArrSize> factorials;
 16     factorials[0] = factorials[1] = 1;
 17     for (int i = 2; i < ArrSize; ++ i)
 18         factorials[i] = factorials[i-1] * i;
 19     for (int i = 0; i < ArrSize; ++ i)
 20         cout << i << "! = " << factorials[i] << endl;
 21 }
 22 
 23 void ch5_3() {
 24     using namespace std;
 25     int num, sum{0};
 26     cout << "enter a num (quit by 0): ";
 27     cin >> num;
 28     while (num) {
 29         sum += num;
 30         cout << "sum == " << sum << ", next num: ";
 31         cin >> num;
 32     }
 33 }
 34 
 35 void ch5_4() {
 36     using namespace std;
 37     double D_money{100}, C_money{100}, sin_factor{0.1}, mul_factor{0.05};
 38     int year_count = 1;
 39     while (C_money <= D_money) {
 40         D_money += 100 * sin_factor;
 41         C_money += C_money * mul_factor;
 42         cout << "year " << year_count << ": C: " << C_money << " D:" << D_money << endl;
 43         ++ year_count;
 44     }
 45 }
 46 
 47 void ch5_5() {
 48     using namespace std;
 49     const char * MONTHSNAME[12] = {
 50             "January", "February", "March",
 51             "April", "May", "June",
 52             "July", "August", "September",
 53             "October", "November", "December"
 54     };
 55     int sales[12]{0}, sum{0};
 56     for (int i = 0; i < 12; ++ i) {
 57         cout << "enter sales in " << MONTHSNAME[i] << ":";
 58         cin >> sales[i];
 59         sum += sales[i];
 60     }
 61     cout << "all sales: " << sum;
 62 }
 63 
 64 void ch5_6() {
 65     using namespace std;
 66     const char * MONTHSNAME[12] = {
 67             "January", "February", "March",
 68             "April", "May", "June",
 69             "July", "August", "September",
 70             "October", "November", "December"
 71     };
 72     int sales[3][12]{0}, sum{0};
 73     for (int i = 0; i < 3; ++ i) {
 74         cout << "enter sales in year " << i + 1 << endl;
 75         for (int j = 0; j < 12; ++ j) {
 76             cout << MONTHSNAME[j] << ":";
 77             cin >> sales[i][j];
 78             sum += sales[i][j];
 79         }
 80     }
 81     cout << "all sales: " << sum;
 82 }
 83 
 84 void ch5_7() {
 85     using namespace std;
 86     struct Car{
 87         string brand;
 88         unsigned int year;
 89     };
 90     Car * car_arr;
 91     unsigned int num{0};
 92     cout << "how many cars do you wish to catalog? ";
 93     cin >> num; cin.get();
 94     car_arr = new Car[num];
 95     for (int i = 0; i < num; ++ i) {
 96         cout << "Car# " << i + 1 << ":" << endl;
 97         cout << "enter brand: ";
 98         getline(cin, car_arr[i].brand);
 99         cout << "enter year: ";
100         cin >> car_arr[i].year; cin.get();
101     }
102     cout << "here's your collection: " << endl;
103     for (int i = 0; i < num ;++ i)
104         cout << car_arr[i].year << " " << car_arr[i].brand << endl;
105 }
106 
107 void ch5_8() {
108     using namespace std;
109     char word[100];
110     unsigned int count{0};
111     cout << "Enter words (to stop, type the word done):" << endl;
112     cin >> word;
113     while (strcmp(word, "done") != 0) {
114         ++ count;
115         cin.get();
116         cin >> word;
117     }
118     cout << "You entered a total of " << count << " words.";
119 }
120 
121 void ch5_9() {
122     using namespace std;
123     string word;
124     unsigned int count{0};
125     cout << "Enter words (to stop, type the word done):" << endl;
126     cin >> word;
127     while (word != "done") {
128         ++ count;
129         cin.get();
130         cin >> word;
131     }
132     cout << "You entered a total of " << count << " words.";
133 }
134 
135 void ch5_10() {
136     using namespace std;
137     unsigned int rows{0};
138     cout << "enter number of rows: ";
139     cin >> rows;
140     for (int i = 0; i < rows; ++ i) {
141         for (int j = 0; j < rows - i - 1; ++ j)
142             cout << '.';
143         for (int k = 0; k < i + 1; ++ k)
144             cout << '*';
145         cout << endl;
146     }
147 }

 

posted @ 2021-08-28 15:25  开心果壳好硬  阅读(117)  评论(0编辑  收藏  举报