zoukankan      html  css  js  c++  java
  • 小学算术题

    需求分析:1.能自动生成小学四则运算题目

                  2.适用于小学二年级的学生

                  3.有真分数的计算,还有正整数的加减法。

    设计思路:1.自动生成100以内加减法,运算关系随机生成。

                  2.分数以x/y的形式给出,且分子分母均小于等于10.

    注意事项:1.由于是小学二年级所以题目中没有结果出现负数的情况。

                  2.减数要小于等于被减数。

                  3.题目数目固定为30道题。

                  4.真分数是分子小于分母,且大小小于1.

    另:由于时间比较匆忙,我的程序还有好多漏洞,我会继续努力解决这些漏洞的。

    代码我已经上传到codeing中 链接https://git.coding.net/2013040101053/first.git

    #include<stdlib.h>
    #include<stdio.h>
    void print();//打印函数
    void questions();//出题函数
    int main(){
        int n;
        printf("	欢迎进入自动出题系统
    ");
        while(1){
            print();
            scanf("%d",&n);//选项
            switch(n){
                case 1: questions();break;
                case 2: exit(0);
            }
    
        }
    }
    void print(){
        printf("	***********************
    ");
        printf("	1.出题
    ");
        printf("	2.退出系统
    ");
        printf("	请选择:");
    }
    void questions(){
        int juge1,juge2;//判断出的是分数还是整数
        char a[2]={'+','-'};
        int i,j,k,m,n;
        for(k=0;k<30;k++)//出30道题
            {
            juge2=rand()%2;
            if(juge2==0)//juge2=0时出的题为整数
                {
                    juge1=rand()%2;
                    if(juge1==0)
                        {
                            i=rand()%100;//随机出100以内的数
                            j=rand()%(100-i);
                        }
                    else
                        {
                            i=rand()%100;
                            j=rand()%i;
                        }
                    printf("	%d  %c  %d =
    ",i,a[juge1],j);//打印出的题
                }
                else
                {
                   juge1=rand()%2;
                   if(juge1==0)
                   {
                       j=rand()%10+1;
                       i=rand()%j+1;
                       n=rand()%10+1;
                       m=rand()%n+1;
                       if(i==j||m==n)
                       {
                           k-=1;
                       }
                       else
                       {
                           printf("	%d/%d  %c  %d/%d =
    ",i,j,a[juge1],m,n);//打印出分数的题
                       }
                   }
                   else
                   {
                       j=rand()%10+1;
                       i=rand()%j+1;
                       n=rand()%10+1;
                       m=rand()%n+1;
                       if(i*n<j*m||i==j||m==n)
                       {
                           k-=1;//分数相减的时候出现负数时将循环变量减1,什么都不做再继续进行循环
                       }
                       else
                       {
                            printf("	%d/%d  %c  %d/%d =
    ",i,j,a[juge1],m,n);
                       }
                   }
                }
        }
    }


    结果截图:

  • 相关阅读:
    Dp~Hrbust1426( 集训队的晚餐 )
    DP~数塔(hrbustoj1004)
    MyEclipse启动性能优化(----加快启动速度)
    很实用的php的缓存类文件示例
    PHP中9大缓存技术总结
    微信公众平台开发(76) 获取用户基本信息
    js中 onreadystatechange 和 onload的区别
    一个js文件导入js的函数
    PHP cURL实现模拟登录与采集使用方法详解教程
    Mysql清空表(truncate)与删除表中数据(delete)的区别
  • 原文地址:https://www.cnblogs.com/xueshengliuchang/p/5268962.html
Copyright © 2011-2022 走看看