函数版 任务1 任务2 任务3 试做版 2st (3st删除了一些用不到的内容 请移步3st)

#include <time.h>
#include <stdio.h>
#include <stdlib.h>

int CreateNumber ()
{
    int a;
    a= rand()%10+1;
    return a;
}
//上为生成随机数的函数 名为CreateNumber 调用该函数后可返回一个随机数(其实单独为这个写一个函数我觉得没啥必要 但是机考要求你这么写呀)

int CreateQuestion ()
{
    int x1 , x2 ;
    x1= CreateNumber();
    x2= CreateNumber(); //我是觉得为了这俩部分写个随机数函数真没必要 直接rand就行 就像下面这个op一样
    printf("%d * %d = ?\n",x1,x2);
    return x1*x2;
}

int CheekScore (int a,int b)  //注 : 这个变量a和变量b 分别是你输入的答案 和经函数计算后的正确答案 该函数的目的是判断它俩是否相等 并给出Right/Wrong
{
    if(a==b)
    {
        printf("Right\n");
        return 3;
    }
    else
    {
        printf("Wrong\n");
        return 4;
    }

}
/* Q:为什么要return 3 return 4啊? 何意味?

   A:这是我的小巧思 通过返回3和4 可以在后面起到一些小作用 请继续往下看


                                                                */
/*
int AnalyzeScore1(int a)  //AnalyzeScore1 为任务1的函数 a为3或4
{
    if(a%3==0)
    {
        return 9; // 循环检测到9即结束
    }
    else
    {
        return 0; // 继续循环
    }
}
  由于我懒得写任务2和任务3了 该函数作废                            */


void RW1 () //任务1:随机产生1-10之间正整数,出乘法问题,直到学生答对为止。
{
    int Answer, TureAnswer, a=0;
    while(a!=3) //在a不等于3时循环
    {
        TureAnswer = CreateQuestion();
        scanf("%d",&Answer);
        a = CheekScore (Answer , TureAnswer);  //获取CheekScore的返回值3或4
    }
    printf("恭喜你已通过任务1,请再次输入数字 1 ~ 3 进入对应任务\n");
    a=0;     //重置a
    return;  // 退出函数
}
int main()
{
    srand(time(NULL));
    int n;
    printf("请输入数字 1 ~ 3 进入对应任务\n");
    while(scanf("%d",&n)==1)
    {
        if(n==1) RW1();
    }

    return 0;
}
//写完任务一后我饿了 任务二和任务三就不写了 拜拜
posted @ 2025-10-30 11:29  ysdd  阅读(8)  评论(0)    收藏  举报