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的主页

     

  • 相关阅读:
    【转】千万级并发实现的秘密:内核不是解决方案,而是问题所在!
    漫话NUMA
    【转】为什么要内存对齐 Data alignment: Straighten up and fly right
    【转】内存地址对齐运算
    DPDK收发包处理流程-----(一)网卡初始化
    Nginx WebSocket proxying example
    nginx example
    kerberos-ldap linux账户集中管理认证
    利用i节点删除乱码文件
    linux sar命令详解
  • 原文地址:https://www.cnblogs.com/LQNB/p/12273723.html
Copyright © 2011-2022 走看看