• C语言寒假大作战03


    C语言寒假大作战03

    这个作业属于哪个课程班级链接
    这个作业的要求 作业链接
    这个作业的目标 完善口算题菜单的功能,学习新的库函数-rand()
    参考文献 库函数rand
    作业正文 此篇博客

    2.2.2设计思路和遇到的问题

    设计思路:

    1.在上一次的作业的基础上添加随机数的概念。

    2.利用新接触的rand()函数完成随机生成数,并将其二或其三进行任意的四则运算。

    3.完善上次的代码,该减减该加加。

     

    心路历程:

    自信(想出这个挺简单的,首先要给自己足够的自信心)开始疑惑(rand()函数干吗用的,该怎么用的)略微有些惆怅(rand()是库函数的一种,可以产生随机数,且在rand()的后方加上%MAX确定随机数的范围,从0到MAX,MAX可自定义)

    (正确的使用rand()函数写出壹年级和贰年级的情况,叁年级却开始卡壳,我该怎样随机四则运算符号的生成呢?)舒服了(首先定义两个字符型变量,然后再次利用for循环和switch语句配合rand()函数完成对符号的随机化)

     

    2.2.3程序结果截图

     

     

     

     

     

    2.2.4程序代码

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int help(int m);
    int main(void)
    {
    time_t t;
    srand((unsigned) time(&t));
    printf("====口算生成器==== ");
    printf("欢迎使用此生成器(笑 ");
    int a=-1;
    int i,m,b,j;
    int HELP,EXIT,n,x;
    char ch,ch2;
    while(a!=0)
    {
    printf(" ");
    printf(" ");
    printf("操作列表: ");
    printf("1>壹年级    2>贰年级     3>叁年级 ");
    printf("4>HELP      5>EXIT ");
    printf("请选择: ");
    scanf("%d",&a);

        switch (a)
    {
    case 1:
    printf("现在是壹年级时间 ");
    printf("请给出需要生成的题目个数:");
    scanf("%d",&m);
    printf("题目如下: ");
    printf(" ");
    for(i=0;i<m;i++)
    {
    b=rand()%2;
    if(b==1)
    printf(" %d + %d = ", rand()%11,rand()%11);
    else
    printf(" %d - %d = ", rand()%11,rand()%11);
    }
    break;
    case 2:
    printf("现在是贰年级时间 ");
    printf("请给出需要生成的题目个数:");
    scanf("%d",&m);
    printf("题目如下: ");
    printf(" ");
    for(i=0;i<m;i++)
    {
    b=rand()%2;
    if(b==1)
    printf(" %d * %d = ", rand()%101,rand()%101);
    else
    printf(" %d / %d = ", rand()%100+1,rand()%100+1);//小细节,除号后面不能为零。
    }
    break;
    case 3:
    printf("现在是叁年级时间 ");
    printf("请给出需要生成的题目个数:");
    scanf("%d",&m);
    printf("题目如下: ");
    printf(" ");
    for(i=0;i<m;i++)
    {
    b=rand()%4;
    switch(b)
    {
    case 0:
    ch='+';break;
    case 1:
    ch='-';break;
    case 2:
    ch='*';break;
    case 3:
    ch='/';break;
    }
    j=rand()%4;
      switch(j)
      {
      case 0:
      ch2='+';break;
      case 1:
      ch2='-';break;
      case 2:
      ch2='*';break;
      case 3:
      ch2='/';break;
    }

    printf(" %d %c %d %c %d = ", rand()%101,ch,rand()%100+1,ch2,rand()%100+1);//除号后面不能为零。
    }
    break;
    case 4:
    HELP=help(n);
    break;
    case 5:
    printf("程序结束,欢迎下次使用,按任意键结束... ");
    return 0;
    default:
    printf("ERROR!!!");
    }
    }

    }
    int help(int n)
    {
    printf(" ");
    printf("帮助信息: ");
    printf("您需要输入代号命令号来进行操作,另 ");
    printf("壹年级的题目很舒服,为不超过十位的加减法 ");
    printf("贰年级的题目不难,为不超过百位的乘除法 ");
    printf("叁年级的题目在一二年级的基础上升华,为不超过百位的加减乘除混合运算 ");
    }

     

    2.2.5Gitee上传截图与链接

     

     

     

     

    Gitee主页地址:

    LQNB的主页

     

  • 相关阅读:
    vue项目引用less报错
    vue dev配置代理会报404
    为什么需要用到消息队列
    理解kafka消费者
    WebSocket和long poll、ajax轮询的区别
    数据库开发——MySQL——慢查询优化
    数据库开发——MySQL——索引原理
    数据库开发——MySQL——函数与流程控制
    数据库开发——MySQL——内置功能
    数据库开发——MySQL——pymysql模块
  • 原文地址:https://www.cnblogs.com/LQNB/p/12266486.html
Copyright © 2020-2023  润新知