精选问答
c++问题,求大神帮解连续做10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运算题,如果输入答案正确,则显示“正确!”,否则显示“错误!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和错误题总数。

2019-05-29

c++问题,求大神帮解
连续做10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运算题,如果输入答案正确,则显示“正确!”,否则显示“错误!”,不给机会重做,10道题做完后,按每题10分统计总得分,然后打印出总分和错误题总数。
优质解答
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int m = 10;
double random()
{
    return (double)rand() / RAND_MAX;
}
int random(int m)
{
    return (int)(random() * (m - 1) + 0.5);
}
int main()
{
    srand(time(NULL));
    int right = 0;
    for(int i = 0; i < 10; i++)
    {
        int x, y;
        for(;;)
        {
            x = random(m) + 1;
            y = random(m) + 1;
            if(x != y) break;
        }
        printf("%d + %d = ", x, y);
        int ans;
        scanf("%d", &ans);
        if(ans == (x + y))
        {
            right++;
            printf("正确");
        }
        else
            printf("错误");
    }
    printf("总分:%d 错误%d道", right * 10, 10 - right);
    return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int m = 10;
double random()
{
    return (double)rand() / RAND_MAX;
}
int random(int m)
{
    return (int)(random() * (m - 1) + 0.5);
}
int main()
{
    srand(time(NULL));
    int right = 0;
    for(int i = 0; i < 10; i++)
    {
        int x, y;
        for(;;)
        {
            x = random(m) + 1;
            y = random(m) + 1;
            if(x != y) break;
        }
        printf("%d + %d = ", x, y);
        int ans;
        scanf("%d", &ans);
        if(ans == (x + y))
        {
            right++;
            printf("正确");
        }
        else
            printf("错误");
    }
    printf("总分:%d 错误%d道", right * 10, 10 - right);
    return 0;
}
相关问答