🌚

HI DARING

>

calculation app

背景

前几天在学校 上数学课的时候 口算 出bug了 一度导致场面气氛尴尬。所以想写一个 c语言程序训练计算能力。

准备

能写c语言程序的pc
一双手
和脑子

#过程
我这里用的是vscode和扩展去写的c程序

思路

用随机数随机生成数字然后计算 循环。并且有3个模式分别是 个位数和 十位数 和个位数乘十位数。

代码

/*mathgame.c --数学计算练习*/
#include<stdio.h>
#include<time.h>
#include <stdlib.h>
#include<string.h>
int main() 
{
	int a,b,c,t,r,s;
	printf("this is a mathgame please input figure to choice mode if you want to exit please input exit\n");
    printf("1 for random Two digits \n2 for random one digit \n3 for random 1 and 2digits\n");
    scanf("%d",&a);
    if(a==1)
    {   
        srand((unsigned)time(NULL));
        printf("you choice the random Two digits mode please input the value  \n");
        while(1)
        {   
         char d;
         int b = rand() % 101;
            int c = rand() % 101;
          int t = rand() % 4;
            if (t==0)
            {
              d='+';
              r=b+c;
            }
           if (t==1) 
           {
             d='-';
             r=b-c;
           }
            if (t==2) 
            {
              d='*';
              r=b*c;
            }
           if (t==3) //这里除法用的是int类型的变量 去整数 所以答案也是整数,因为练除法没什么用 所以也没改
            {
              d='/';
              r=b/c;
            }
            
            printf("%d %c %d\n",b,d,c);
           scanf("%d",&s);
           getchar();
           if(s==r)
           {
             printf("ture\n");
           }
          else
          {
            printf("flase value is %d\n",r);
          }
        }
    }
    else
    {
      if(a==2)
      {   
			srand((unsigned)time(NULL));
			printf("you choice the random Two digits mode please input the value  \n");
			while(1)
			{   
			char d;
			int b = rand() % 11;
            int c = rand() % 11;
			int t = rand() % 4;
            if (t==0)
            {
              d='+';
              r=b+c;
            }
           if (t==1) 
           {
             d='-';
             r=b-c;
           }
            if (t==2) 
            {
              d='*';
              r=b*c;
            }
           if (t==3) //这里除法用的是int类型的变量 去整数 所以答案也是整数,因为练除法没什么用 所以也没改
            {
              d='/';
              r=b/c;
            }
            printf("%d %c %d\n",b,d,c);
           scanf("%d",&s);
           getchar();
           if(s==r)
           {
             printf("ture\n");
           }
          else
          {
            printf("flase value is %d\n",r);
          }
        }
	  }
        else{
          if(a==3)
        {   
        srand((unsigned)time(NULL));
        printf("you choice the random Two digits mode please input the value  \n");
        while(1)
        {   
         char d;
         int b = rand() % 11;
            int c = rand() % 101;
          int t = rand() % 4;
            if (t==0)
            {
              d='+';
              r=b+c;
            }
           if (t==1) 
           {
             d='-';
             r=b-c;
           }
            if (t==2) 
            {
              d='*';
              r=b*c;
            }
           if (t==3) //这里除法用的是int类型的变量 去整数 所以答案也是整数,因为练除法没什么用 所以也没改
            {
              d='/';
              r=b/c;
            }
            printf("%d %c %d\n",b,d,c);
           scanf("%d",&s);
           getchar();
           if(s==r)
           {
             printf("ture\n");
           }
          else
          {
            printf("flase value is %d\n",r);
          }
        }
		}
			else
			{
			printf("you input is flase please check it\n");	
			}
		}
		}
}

写的比较快 而且没带 退出功能 但是已经达到练习计算功能了!有兴趣的可以优化下算法,毕竟用简单if else语句写的。

— Apr 14, 2019


Made with ❤ and Hexo.js at Earth.