课程设计 【项目一】小学生考试系统

题目描述:

   做一个小学生考试系统,功能如下:

1利用随机函数出10道加法题;

2小学生用户答题,给出每道题的答案;

3对小学生的答案进行评判;

4计算小学生的答题正确率;

解答:

/*************************************************************
功能描述:这是一个小学生考试系统,可以根据用户的需要进行加减乘除,以及四则混合运算的检测。
输入参数:m-选择题目类型
     a,b,d-运算值
     c-混合运算时的随机运算符
其他说明:无
*************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    int sum=0;
    int a,b,d,t;
    int c,m;
    int i;
    srand(time(0));
    printf("           小学生考试系统\n");
    printf("请选择题目类型:\n0:加法\n1:减法\n2:乘法\n3:除法\n4:四则混合运算\n");
    scanf("%d",&m);
    for(i=0; i<10; i++)
    {
        printf("第 %d 题: ", i+1);
        switch(m)
        {
        case 0:
            do
            {
                a=rand()%100+1;
                b=rand()%100+1;
                if(a<b&&(c==1||c==3))
                {
                    d=a;
                    a=b;
                    b=d;
                }
                if(c==3) a=(a/b)*b;
            }
            while((a+b)>=100);
            d=a+b;
            printf("%d+%d=", a, b);
            break;
        case 1:
            do
            {
                a=rand()%100+1;
                b=rand()%100+1;
                if(a<b&&(c==1||c==3))
                {
                    d=a;
                    a=b;
                    b=d;
                }
                if(c==3) a=(a/b)*b;
            }
            while((a+b)>=100||a*b>=100||(a-b)<0);
            d=a-b;
            printf("%d—%d=", a, b);
            break;
        case 2:
            do
            {
                a=rand()%100+1;
                b=rand()%100+1;
                if(a<b&&(c==1||c==3))
                {
                    d=a;
                    a=b;
                    b=d;
                }
                if(c==3) a=(a/b)*b;
            }
            while((a+b)>=100||a*b>=100||(a-b)<0);
            d=a*b;
            printf("%d×%d=", a, b);
            break;

        case 3:
            do
            {
                a=rand()%100+1;
                b=rand()%100+1;
                if(a<b&&(c==1||c==3))
                {
                    d=a;
                    a=b;
                    b=d;
                }
                if(c==3) a=(a/b)*b;
            }
            while((a+b)>=100||a*b>=100||(a-b)<0);
            d=a/b;
            printf("%d÷%d=", a, b);
            break;
        case 4:
            c=rand()%4;
            do
            {
                a=rand()%100+1;
                b=rand()%100+1;
                if(a<b&&(c==1||c==3))
                {
                    d=a;
                    a=b;
                    b=d;
                }
                if(c==3) a=(a/b)*b;
            }
            while((a+b)>=100||a*b>=100||(a-b)<0);
            switch(c)
            {
            case 0:
                d=a+b;
                printf("%d+%d=", a, b);
                break;
            case 1:
                d=a-b;
                printf("%d—%d=", a, b);
                break;
            case 2:
                d=a*b;
                printf("%d×%d=", a, b);
                break;
            case 3:
                d=a/b;
                printf("%d÷%d=", a, b);
                break;
                break;
            }
            break;

        }
        scanf("%d", &t);
        if(t==d)
        {
            printf(" Right! \n你真棒\n");
            sum++;
        }
        else printf(" Wrong! \n再接再励!\n");
    }
    printf("共答对了%d道题,得分率%.2f\n", sum, 1.0*sum/10*100);
    return 0;
}

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值