1.概念
2.习题
第一题
第二题
第一题(答案)
第二题(答案)
3.课后题
题目
第0题
第1-3题
第4-6题
第7-8题(挑战题)
答案
第0题
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
srand(time(0));
int num = rand(); // 不限定范围的随机数
cout << "猜单双游戏(1=单, 0=双): ";
int guess;
cin >> guess;
if(num % 2 == guess) {
cout << "恭喜! 数字是 " << num;
} else {
cout << "错了! 数字是 " << num;
}
return 0;
}
第1-3题
1.
#include <iostream>
using namespace std;
int main() {
int a, b;
char op;
cin >> a >> b >> op;
if(op == '+') cout << a + b;
else if(op == '-') cout << a - b;
else if(op == '*') cout << a * b;
else if(op == '/') cout << a / b;
else if(op == '%') cout << a % b;
return 0;
}
2.
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
if(n % 2 == 0) cout << "偶数";
else cout << "奇数";
return 0;
}
3.
#include <iostream>
using namespace std;
int main() {
int score;
cin >> score;
if(score >= 90) cout << "A";
else if(score >= 80) cout << "B";
else if(score >= 70) cout << "C";
else if(score >= 60) cout << "D";
else cout << "E";
return 0;
}
第4-6题
4.
#include <iostream>
using namespace std;
int main() {
int year;
cin >> year;
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
cout << "是";
else
cout << "否";
return 0;
}
5.
#include <iostream>
using namespace std;
int main() {
int a, b, c;
char op1, op2;
cin >> a >> op1 >> b >> op2 >> c;
int result;
if(op2 == '*' || op2 == '/') {
if(op2 == '*') b = b * c;
else b = b / c;
if(op1 == '+') result = a + b;
else if(op1 == '-') result = a - b;
}
else {
if(op1 == '+') a = a + b;
else if(op1 == '-') a = a - b;
else if(op1 == '*') a = a * b;
else if(op1 == '/') a = a / b;
if(op2 == '+') result = a + c;
else result = a - c;
}
cout << result;
return 0;
}
6.
#include <iostream>
using namespace std;
int main() {
int x, y, z;
cin >> x >> y >> z;
if(x + y > z && x + z > y && y + z > x) {
if(x == y && y == z) cout << "等边三角形";
else if(x == y || y == z || x == z) cout << "等腰三角形";
else cout << "普通三角形";
}
else {
cout << "不能构成三角形";
}
return 0;
}
第7-8题(挑战题)
7.
#include <iostream>
using namespace std;
int main() {
int a, b, c;
char op1, op2;
cin >> a >> op1 >> b >> op2 >> c;
int result;
if(op2 == '*' || op2 == '/') {
if(op2 == '*') b = b * c;
else b = b / c;
if(op1 == '+') result = a + b;
else if(op1 == '-') result = a - b;
else if(op1 == '*') result = a * b;
else result = a / b;
}
else {
if(op1 == '+') a = a + b;
else if(op1 == '-') a = a - b;
else if(op1 == '*') a = a * b;
else if(op1 == '/') a = a / b;
if(op2 == '+') result = a + c;
else result = a - c;
}
cout << result;
return 0;
}
8.
#include <iostream>
using namespace std;
int main() {
int y, m, d;
cin >> y >> m >> d;
bool valid = true;
if(m < 1 || m > 12) valid = false;
else if(d < 1) valid = false;
else {
if(m == 2) {
bool leap = (y % 4 == 0 && y % 100 != 0) || y % 400 == 0;
if(leap && d > 29) valid = false;
else if(!leap && d > 28) valid = false;
}
else if((m == 4 || m == 6 || m == 9 || m == 11) && d > 30) {
valid = false;
}
else if(d > 31) {
valid = false;
}
}
if(valid) cout << "有效日期";
else cout << "无效日期";
return 0;
}