练习1升级

这是升级后的练习一,主要是多弄了输入真分数能辨识然后判断答案的对错,还有增加了分数,等用户做完25道题后,系统会输出相对应的分数

这次最难弄的就是分数那一块了。在与同学的讨论和百度,终于都弄了出来,代码如下

#include<stdio.h>
#include<stdlib.h>
int a,b,t=1;
int num;
int count=0;//代表分数
void jiafa();
void jianfa();
void chengfa();
void chufa();
main()
{
    while(t<=25)  
    {
        srand((unsigned)time(NULL)); //获取随机数种子
        num=rand()%4; //加减乘除随机生成
        switch(num)
        { 
        case 0:  //0为加法
            jiafa();
            break;
        case 1:  //1为减法
            jianfa();
            break;
        case 2:  //2为乘法
            chengfa();
            break;
        case 3:  //3为除法
            chufa();
            break;
        }
    }
    if(t==26)
    {
        printf("25道题完成!\n\n你的分数是%d\n\n",count);
    }
}
void jiafa()   //加法函数
{
    int c,d;
    a=rand()%50;
    b=rand()%50;
    c=a+b;
    printf("第%d题:\n",t);
    printf("%d+%d=",a,b);
    scanf("%d",&d);
    if(c==d)
    {
        printf("答案正确!\n\n");
        count=count+4; //每题答对就加四分
    }
    else
    {
        printf("答案错误!\n\n");
    }
    t++;
}
void jianfa()  //除法函数
{
    int c,d;
    a=rand()%50;
    b=rand()%50;
    c=a-b;
    printf("第%d题:\n",t);
    printf("%d-%d=",a,b);
    scanf("%d",&d);
    if(c==d)
    {
        printf("答案正确!\n\n");
        count=count+4;
    }
    else
    {
        printf("答案错误!\n\n");
    }
    t++;
}
void chengfa()  //乘法函数
{
    int c,d;
    a=rand()%10;
    b=rand()%10;
    c=a*b;
    printf("第%d题:\n",t);
    printf("%d*%d=",a,b);
    scanf("%d",&d);
    if(c==d)
    {
        printf("答案正确!\n\n");
        count=count+4;
    }
    else
    {
        printf("答案错误!\n\n");
    }
    t++;
}
void chufa()  //除法函数
{
    float c,d,g;
    int f,h;
    char e;
    a=rand()%10;
    b=rand()%10;
    c=a/b;
    printf("第%d题:\n",t);
    printf("%d/%d=",a,b);
    if(a%b!=0 || a<b)  //如果a,b不能整除或者a小于b就输入真分数
    {
        scanf("%d%c%d",&f,&e,&h);
        g=f/h;
        if(g==c)
        {    
            printf("答案正确!\n\n");
            count=count+4;
        }
        else
        {
            printf("答案错误!\n\n");
        }
        t++;
    }
    else
    {
        scanf("%f",&d);
        if(c==d)
        {
            printf("答案正确!\n\n");
            count=count+4;
        }
        else
        {
            printf("答案错误!\n\n");
        }
        t++;
    }
    
}

运行结果:

posted on 2015-03-31 17:47  51罗佩坚  阅读(175)  评论(3编辑  收藏  举报