用C语言实现由计算机生成10道100以内的2个数加法的式子,由用户进行解答,每道题有3次答题机会,第一次答对得10分,第二次答对得9分,第三次答对得8分,三次都答不对得0分,最后输出每道题的得分情况和最后的总分。
时间: 2024-05-08 15:14:51 浏览: 122
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int score = 0; // 总分
srand(time(NULL)); // 用系统时间初始化随机数种子
for (int i = 1; i <= 10; i++) { // 生成10道题目
int a = rand() % 100 + 1; // 生成1~100之间的随机数
int b = rand() % 100 + 1;
int ans = a + b; // 计算答案
int cnt = 0; // 答题次数
printf("%d. %d + %d = ", i, a, b);
while (cnt < 3) { // 最多答题3次
int userAns;
scanf("%d", &userAns);
cnt++;
if (userAns == ans) { // 答对了
switch (cnt) { // 根据答题次数计算得分
case 1:
score += 10;
printf("答对了!得10分。\n");
break;
case 2:
score += 9;
printf("答对了!得9分。\n");
break;
case 3:
score += 8;
printf("答对了!得8分。\n");
break;
}
break; // 跳出while循环
} else { // 答错了
if (cnt == 3) { // 答了3次都错了
printf("答错了。得0分。\n");
} else { // 还有机会
printf("答错了,请重新作答:");
}
}
}
}
printf("总分:%d分。\n", score);
return 0;
}
```
阅读全文