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);
                       }
                   }
                }
        }
    }


    结果截图:

  • 相关阅读:
    雷林鹏分享:jQuery EasyUI 数据网格
    雷林鹏分享:jQuery EasyUI 数据网格
    雷林鹏分享:jQuery EasyUI 数据网格
    雷林鹏分享:jQuery EasyUI 数据网格
    雷林鹏分享:jQuery EasyUI 数据网格
    雷林鹏分享:jQuery EasyUI 数据网格
    雷林鹏分享:jQuery EasyUI 数据网格
    关于elisp中一些含有'p'的符号
    how elisp works
    elisp 错误提示
  • 原文地址:https://www.cnblogs.com/xueshengliuchang/p/5268962.html
Copyright © 2011-2022 走看看