Perfect-鹿 发表于 2022-6-12 21:54:57

C语言

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{

    int i, j, k = 2, num1, num2, sum = 0, answer, score = 0, xiabiao, temp;
    char fuhao = { '+','-' };
    srand((int)time(0));

    for (i = 1; i <= 10; i++)
    {

      xiabiao = rand() % 2;
       num1 = rand() * 50 / 32767;
      num2 = rand() * 50 / 32767;

      if (xiabiao == 0)
      {
            sum = num1 + num2;
      }
      else
      {
            sum = num1 - num2;
      }

      if (sum >= 0 && sum <= 50)
      {
            j = 2;
            k = 1;

            printf("\n(%d)", i);
            printf("%d", num1);
            printf("%c", fuhao);
            printf("%d", num2);
            printf("=");
            scanf_s("%d", &answer);

            if (sum == answer)

            {
                printf("\n结果:你输入的答案正确! \n\n");
                score += 10;
            }
            else
            {
                while (j <= 3)
                {
                  printf("\n答案错误,请重新输入:");
                  scanf_s("%d", &answer);
                  if (sum == answer)
                  {
                        printf("\n结果:你输入的答案正确! \n\n");
                        k++;
                        if (k == 2)
                        {
                            score += 7;
                        }
                        else if (k == 3)
                        {
                            score += 5;
                        }
                        break;
                  }
                  else

                  {
                        k++;
                  }
                      j++;
                   }
                if (j > 3)
                  printf("\n该题正确答案为:%d\n", sum);
         }
       }
      else
      i--;
    }
    printf("\n共%d道题目,你的总分为%d\n \n", i - 1, score);
}


问一下大佬们 红色字体都是什么意思啊 我不太理解这个32676的意思

wp231957 发表于 2022-6-12 22:06:50

随机生成两个数值,至于为啥那样写,你要问作者

Perfect-鹿 发表于 2022-6-13 19:21:40

wp231957 发表于 2022-6-12 22:06
随机生成两个数值,至于为啥那样写,你要问作者

是生成两个五十以内的数值 可为什么要写32676

wp231957 发表于 2022-6-13 19:37:04

Perfect-鹿 发表于 2022-6-13 19:21
是生成两个五十以内的数值 可为什么要写32676

你猜猜rand()能返回的最大值是多少

matrixgadener 发表于 2022-6-13 20:04:54

定义于头文件 <cstdlib> 的 RAND_MAX 代表rand() 返回的最大值,一般为 32767,然后限制为50以内


Perfect-鹿 发表于 2022-6-14 21:03:14

wp231957 发表于 2022-6-13 19:37
你猜猜rand()能返回的最大值是多少

谢谢
页: [1]
查看完整版本: C语言