1molHF 发表于 2021-12-7 08:51:30

感谢傻眼貓咪对我的帮助!奖励7鱼币!

        感谢傻眼貓咪,帮我做出了万年历那道题!傻眼貓咪,你在本帖回复我,我给你7鱼币。

傻眼貓咪 发表于 2021-12-7 08:51:31

本帖最后由 傻眼貓咪 于 2021-12-7 15:50 编辑

2.5 小学生数学自动测验#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    time_t t;
    srand((unsigned) time(&t));
    int x, a, b, c, q, ans, res = 0, score = {10, 7, 5}, flag;
    for(size_t n = 1; n < 11; n++){
      x = rand()%2+1;
      switch(x){
            case 1:
                a = rand()%50;
                b = rand()%(50-a);
                c = a+b;
                printf("\nQ%ld: %d + %d = ?\n", n, a, b);
                flag = 1;
                for(int i = 0; i < 3; i++){
                  printf("请输入正确答案:");
                  scanf("%d", &ans);
                  if(c == ans){
                        res += score;
                        flag = 0;
                        printf("答案正确\n");
                        break;
                  }
                  else printf("答案不正确,请重试\n");
                }
                if(flag) printf("正确答案是:%d\n", c);
                break;
            case 2:
                a = rand()%50;
                b = rand()%(a+1);
                q = a;
                a = a > b ? a : b;
                b = b < q ? b : q;
                c = a-b;
                printf("\nQ%ld: %d - %d = ?\n", n, a, b);
                flag = 1;
                for(int i = 0; i < 3; i++){
                  printf("请输入正确答案:");
                  scanf("%d", &ans);
                  if(c == ans){
                        res += score;
                        flag = 0;
                        printf("答案正确\n");
                        break;
                  }
                  else printf("答案不正确,请重试\n");
                }
                if(flag) printf("正确答案是:%d\n", c);
                break;
      }
    }
    printf("你的分数是:%d ", res);
    printf(res > 90 ? "SMART" : res >= 80 ? "GOOD" : res > 70 ? "OK" : res > 60 ? "PASS" : "TRY AGAIN");
    return 0;
}**这是我用手机做的,因为没有办法测试,不晓得有没有问题

柿子饼同学 发表于 2021-12-7 18:22:59

傻眼貓咪 发表于 2021-12-7 15:41
2.5 小学生数学自动测验**这是我用手机做的,因为没有办法测试,不晓得有没有问题

已经运行完毕 , 没有大的错误 , 但有一个小问题
如图 , 输出"答案不正确 , 请重试"后又输出正确答案
(*^_^*)

傻眼貓咪 发表于 2021-12-7 18:25:12

柿子饼同学 发表于 2021-12-7 18:22
已经运行完毕 , 没有大的错误 , 但有一个小问题
如图 , 输出"答案不正确 , 请重试"后又输出正确答案
...

哈哈,大概可能我眼睛不好使,手机荧幕太小,看不清。

傻眼貓咪 发表于 2021-12-7 18:38:42

柿子饼同学 发表于 2021-12-7 18:22
已经运行完毕 , 没有大的错误 , 但有一个小问题
如图 , 输出"答案不正确 , 请重试"后又输出正确答案
...

已修改#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    time_t t;
    srand((unsigned) time(&t));
    int x, a, b, c, q, ans, res = 0, score = {10, 7, 5}, flag;
    for(size_t n = 1; n < 11; n++){
      x = rand()%2+1;
      switch(x){
            case 1:
                a = rand()%50;
                b = rand()%(50-a);
                c = a+b;
                printf("\nQ%ld: %d + %d = ?\n", n, a, b);
                flag = 1;
                for(int i = 0; i < 3; i++){
                  printf("请输入正确答案:");
                  scanf("%d", &ans);
                  if(c == ans){
                        res += score;
                        flag = 0;
                        printf("答案正确\n");
                        break;
                  }
                  else if(i != 2) printf("答案不正确,请重试\n");
                }
                if(flag) printf("答案不正确,正确答案是:%d\n", c);
                break;
            case 2:
                a = rand()%50;
                b = rand()%(a+1);
                q = a;
                a = a > b ? a : b;
                b = b < q ? b : q;
                c = a-b;
                printf("\nQ%ld: %d - %d = ?\n", n, a, b);
                flag = 1;
                for(int i = 0; i < 3; i++){
                  printf("请输入正确答案:");
                  scanf("%d", &ans);
                  if(c == ans){
                        res += score;
                        flag = 0;
                        printf("答案正确\n");
                        break;
                  }
                  else if(i != 2) printf("答案不正确,请重试\n");
                }
                if(flag) printf("答案不正确,正确答案是:%d\n", c);
                break;
      }
    }
    printf("你的分数是:%d ", res);
    printf(res > 90 ? "SMART" : res >= 80 ? "GOOD" : res > 70 ? "OK" : res > 60 ? "PASS" : "TRY AGAIN");
    return 0;
}

柿子饼同学 发表于 2021-12-7 19:03:55

傻眼貓咪 发表于 2021-12-7 18:25
哈哈,大概可能我眼睛不好使,手机荧幕太小,看不清。

不不不 , 手机打出来已经很厉害了 , 我只是帮你运行{:10_277:}一下

傻眼貓咪 发表于 2021-12-7 19:11:36

柿子饼同学 发表于 2021-12-7 19:03
不不不 , 手机打出来已经很厉害了 , 我只是帮你运行一下

{:10_277:}

1molHF 发表于 2021-12-8 15:17:46

傻眼貓咪 发表于 2021-12-7 18:38
已修改

谢谢大佬!你在我发的两个奖励10鱼币的感谢帖和一个奖励5鱼币的感谢帖后随便回复我(比如说“我来领币”),我就再给你25鱼币。
页: [1]
查看完整版本: 感谢傻眼貓咪对我的帮助!奖励7鱼币!