zoukankan      html  css  js  c++  java
  • C语言寒假大作战04

    C语言寒假大作战04

    这个作业属于哪个课程班级链接
    这个作业的要求 作业要求
    这个作业的目标 完善口算题菜单的功能,学习%g的功能
    参考文献 %g在C语言中的意思
    作业正文 此篇博客

    2.2.2设计思路和遇到的问题

    设计思路:

    1.在上一次的作业的基础上完善答案随着题目一起输出。

    2.利用%g的学习,代替%f的直接输出,减少不必要数字的输出,节约空间。

    3.完善上次的代码,该减减该加加,特别扩充了几个浮点变量。

     

    心路历程:

    自信(想出这个挺简单的,首先要给自己足够的自信心)困惑(%g的输出和 %f 到底有什么区别?)豁然开朗(在打印输出的时候,%g会自动选择宽度较小的输出,例如:要输出654.321的单精度浮点值,此时%f输出的是654.320984,而%g输出的就是654.321,另外输出的654.320984是因为在内存中的存储误差引起的)有些懊恼(秉承节约空间的思想,我在前一个作业中使用的变量甚少,在此次作业中无法继续利用,需要定义变量来接收这些随机值,随后再进行计算)平常心(顺利写出符合要求的代码)

     

    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;
    double c1,c2,c3;
    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++)
    {
    c1=rand()%11;
    c2=rand()%11;
    b=rand()%2;
    if(b==1)
    printf(" %.f + %.f = %g ", c1,c2,c1+c2);
    else
    printf(" %.f - %.f = %g ", c1,c2,c1-c2);
    }
    break;
    case 2:
    printf("现在是贰年级时间 ");
    printf("请给出需要生成的题目个数:");
    scanf("%d",&m);
    printf("题目如下: ");
    printf(" ");
    for(i=0;i<m;i++)
    {
    c1=rand()%101;
    c2=rand()%101;
    c3=rand()%100+1;
    b=rand()%2;
    if(b==1)
    printf(" %.f * %.f = %g ", c1,c2,c1*c2);
    else
    printf(" %.f / %.f = %g ", c1,c3,c1/c3);
    }
    break;
    case 3:
    printf("现在是叁年级时间 ");
    printf("请给出需要生成的题目个数:");
    scanf("%d",&m);
    printf("题目如下: ");
    printf(" ");
    for(i=0;i<m;i++)
    {
    double c4,c5;
    c1=rand()%101;
    c2=rand()%100+1;
    c3=rand()%100+1;
    b=rand()%4;
    switch(b)
    {
    case 0:
    ch='+';c4=c1+c2;break;
    case 1:
    ch='-';c4=c1-c2;break;
    case 2:
    ch='*';c4=c1*c2;break;
    case 3:
    ch='/';c4=c1/c2;break;
    }
    j=rand()%4;
      switch(j)
      {
      case 0:
      ch2='+';c5=c4+c3;break;
      case 1:
      ch2='-';c5=c4-c3;break;
      case 2:
      ch2='*';c5=c4*c3;break;
      case 3:
      ch2='/';c5=c4/c3;break;
    }

    printf(" %.f %c %.f %c %.f = %g ", c1,ch,c2,ch2,c3,c5);
    }
    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的主页

     

  • 相关阅读:
    leetcode 78. 子集 JAVA
    leetcode 91. 解码方法 JAVA
    leetcode 75. 颜色分类 JAVA
    leetcode 74 搜索二维矩阵 java
    leetcode 84. 柱状图中最大的矩形 JAVA
    last occurance
    first occurance
    classical binary search
    LC.234.Palindrome Linked List
    LC.142. Linked List Cycle II
  • 原文地址:https://www.cnblogs.com/LQNB/p/12273723.html
Copyright © 2011-2022 走看看