c语言由计算机生成10道100以内的2个数加法的式子,由用户进行解答,每道题有3次答题机会,第一次答对得10分, 第二次答对得9分,第三次答对得8分,三次都答不对得0分,最后输出每道题的得
时间: 2023-10-23 08:09:57 浏览: 42
分情况和总分。
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(NULL)); // 初始化随机数生成器
int score = 0; // 总分
for (int i = 1; i <= 10; i++) // 生成10道题目
{
int a = rand() % 100 + 1; // 生成两个随机数
int b = rand() % 100 + 1;
int answer; // 存储用户输入的答案
printf("第%d题:%d + %d = ", i, a, b);
for (int j = 1; j <= 3; j++) // 最多3次答题机会
{
scanf("%d", &answer); // 输入答案
if (answer == a + b) // 答对了
{
switch (j) // 根据答题次数给分
{
case 1:
score += 10;
break;
case 2:
score += 9;
break;
case 3:
score += 8;
break;
}
printf("恭喜你,答对了!得分:%d\n", score); // 输出得分情况
break; // 跳出循环,进入下一道题
}
else // 答错了
{
if (j == 3) // 答了3次都错了,得0分
{
printf("很遗憾,你未能在3次内回答正确。得分:%d\n", score);
}
else // 继续答题
{
printf("回答错误,请重新作答:");
}
}
}
}
printf("总分:%d\n", score); // 输出总分
return 0;
}
```