当前是 9 月,编写 C++ 代码求 N 个月后的月份。横线处应填入的代码是( )。
int N, M;
cin >> N;
M = _____________;
if (M == 0)
printf("%d个月后12月", N);
else
printf("%d个月后是%d月", N, M);
- A. `N % 12`
- B. `9 + N % 12`
- C. `(9 + N) / 12`
- D. `(9 + N) % 12`
正确答案:D
int N, M;
cin >> N;
M = _____________;
if (M == 0)
printf("%d个月后12月", N);
else
printf("%d个月后是%d月", N, M);
正确答案:D
(9+N)%12 得到月份;余数为 0 时代表 12 月(代码正是用 if(M==0) 处理)。所以 M = (9+N)%12,选 D。 💡 循环计数(钟表、星期、月份)用取余。注意余数 0 通常代表「第 12 个/第 7 个」,要单独处理。想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?
进入 GESPPASS 开始练习