编写程序:C语言实现一个随堂测试,能进行加减乘除运算

题目说明:

(1)随机产生两个1~10的正整数,在屏幕上输出题目,如:5+3=?
(2)学生输入答案,程序检查学生输入答案是否正确,若正确,则输出“Correct”,否则输出“No Correct”
(3)共10道题目,每题10分,最后给出总成绩。

编程思路:

按功能分模块,将随机出题写在show()函数中,将答题测试写在test()函数中,在主函数中调用两者,完成程序功能。

代码;

#include<stdio.h>
#include<stdlib.h>
#include<stdlib.h>//rand():随机数生成器;
#include<time.h>//需要导入一个时间头文件;
#include<stdbool.h>//bool类型;
long show()
{
    int num1,num2,x;
    long s;
    char c;
    srand((unsigned) time(NULL));//用时间做种子,每次产生的随机序列不同;
    num1=rand()%10+1;
    num2=rand()%10+1;
    x=rand()%4;
    switch(x)
    {
        case 0:c='+';s=num1+num2;break;
        case 1:c='-';s=num1-num2;break;
        case 2:c='*';s=num1*num2;break;
        default:c='/';s=num1/num2;
    }
    printf("%d%c%d=",num1,c,num2);
    return s;
}
bool test(int n,int sum)
{
    bool b;
    b=(sum==n)?true:false;
    return b;
}
int main()
{
    int i,score=0,n;
    long s;
    for(i=0;i<10;i++)
    {
        printf("Problem number %d: ",i+1);
        s=show();
        scanf("%d",&n);
        if(test(n,s))
        {
            printf("Correct\n");
            score++;
        }
        else printf("No Correct\n");
    }
    printf("score: %d",score);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43736435/article/details/88367295