用C语言给小学生出一套加减乘除的卷子

提供本代码给需要的人学习使用,请不要随意转载。

/*******************************
该程序是自动出题,自动评分程序。
题目为简单的四则运算,适用于小学
生。
*******************************/ 
#include
#include
#include
int main()
{
    int i,j,s,c1,c2,b1,b2,t,c,d1,d2,d3,d4,d5,d6;                             //i,j 分别控制两个循环 d1,d2,d3,d4分别为随机数字寄存的变量 

    int rand(); 
    srand((unsigned)time(NULL));
    printf("\t\t\t*******************************************************\n");
    printf("\t\t\t*              此次测试的题目有20道                   *\n");
    printf("\t\t\t*           题目类型为两位数的加减乘除                *\n");
    printf("\t\t\t*              每题5分,总分为100分。                 *\n");
    printf("\t\t\t*******************************************************\n");
    printf("\t\t\t\t\t加法与乘法部分\n");
    for(c1=0,i=1;i<=5;i++)
    {
        d1=rand()%91+10,d2=rand()%91+10;
        d3=rand()%91+10,d4=rand()%91+10;                                     //rand()%91+10,输出10-100之前的随机数字                       

        printf("\t\t\t\t\t%d + %d = ",d1,d2);
        scanf("%d",&b1);                                         
        printf("\t\t\t\t\t%d x %d = ",d3,d4);
        scanf("%d",&b2);
        printf("\n");                                                   //b1,b2为用户输入的答案
        d5=d1+d2;d6=d3*d4;                                                 //将正确答案赋给d5,d6,分别与用户输入答案进行比较 
        if(b1==d5&&b2==d6)                                                 //判断用户输入的答案与实际答案是否相等 
        {
        c1=c1+10;   
        }
        else if(b1==d5||b2==d6)
        { 
        c1=c1+5;
        }                                                            //c1为学生每一题的成绩,每对一题加5分,错题加0分。将计算的前十道题的 
        else                                                         //分数赋给c1储存起来 
        {
        c1=c1+0;
        }
    }
    printf("\t\t\t\t\t减法与除法部分\n");
    for(c2=0,j=1;j<=5;j++)
    {
        d1=rand()%91+10,d2=rand()%91+10;
        d3=rand()%91+10,d2=rand()%91+10;
        if(d1//将随机函数出现的大的值换到前面,d1,d2换         d3,d4同理 
        }
        if(d3printf("\t\t\t\t\t%d - %d = ",d1,d2);
        scanf("%d",&b1);
        printf("\t\t\t\t\t%d ÷%d = ",d3,d4);    
        scanf("%d",&b2);
        printf("\n");

        d5=d1-d2;d6=d3/d4;
        if(b1==d5&&b2==d6)
        {
        c2=c2+10;
        }
        else if(b1==d5||b2==d6)
        {
        c2=c2+5;
        }
        else
        {
        c2=c2+0;
        }
        c=c1+c2;                                                       // 将c1,c2的值相加,得出最后的总分赋给c 
    } 
        printf("             \t你此次测验的成绩为%d\n",c);                           //打印出最后的总分c 
        s=c/10;                                                       //采用开关变量S,每10分作为一个case。
        switch(s) 
        {
            case 0:
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:printf("               \t\t/(ㄒoㄒ)/~~好好学习吧,别荒废了学业");break;
            case 6:
            case 7:printf("               \t\t↖(^ω^)↗相信你只是看错题目,再来一次,你能拿到更高分数");break; 
            case 8:printf("               \t\t↖(^ω^)↗加油,相信你能更上一层楼"); break;
            case 9:
            case 10:printf("              \t\t(^-^)你很棒!"); break;
        }
        return 0; 
    }

如有问题,欢迎提问,本人必定竭力为您解答!

你可能感兴趣的:(IT技术,代码学习)