简单C程序数学测验

简单C程序数学测验,c,C,好的,作为一个初学者程序员,我的任务是创建一个简单的数学测验程序。当用户的答案是对的或错的时候,它应该提示用户有多少问题要问、祝贺或通知用户。然后在程序结束时打印出正确的数字和错误的数字。我已经成功地完成了所有这些,我的代码现在唯一的问题是它一遍又一遍地问同样的问题。我在这里不知所措,任何帮助都将不胜感激,谢谢 #include <stdio.h> #include <stdlib.h> int main (void) { int i;

好的,作为一个初学者程序员,我的任务是创建一个简单的数学测验程序。当用户的答案是对的或错的时候,它应该提示用户有多少问题要问、祝贺或通知用户。然后在程序结束时打印出正确的数字和错误的数字。我已经成功地完成了所有这些,我的代码现在唯一的问题是它一遍又一遍地问同样的问题。我在这里不知所措,任何帮助都将不胜感激,谢谢

   #include <stdio.h>
   #include <stdlib.h>
   int main (void)

    {
    int i;
    int response;
    int correctAnswers = 0;
    int incorrectAnswers = 0;

    printf("\nMath Quiz\n");
    printf("Please enter # of problems you would wish to try:");
    scanf("%d", &response);

    if(response == 0)
    {
        printf("\nThanks for playing!\n");
        return 0;
    }

    for(i=0; i<response; i++)
    {
        int answer = 0;
        int a = rand() % 12;
        int b = rand() % 12;
        printf("\n%d * %d = ",a ,b);
        scanf("%d", &answer);
        if((a * b) == answer){
            printf("\nCongratulations You are correct!\n");
            correctAnswers++;
        }
        else{
            printf("Sorry you were incorrect!\n");
            incorrectAnswers++;
        }

    }
    printf("\n\nYour Results:\n\n\n");
    printf("Number Incorrect: %d\n", incorrectAnswers);
    printf("Number Correct: %d\n", correctAnswers);
    if(correctAnswers > incorrectAnswers){
        printf("You Passed!\nGood work!\n\n");
    }
    else{
        printf("You did not pass!\nYou need more work!\n\n");
    }

    return 0;
}
#包括
#包括
内部主(空)
{
int i;
int响应;
int=0;
int不正确答案=0;
printf(“\n数学测验\n”);
printf(“请输入您希望尝试的问题:”;
scanf(“%d”,响应(&R));
如果(响应==0)
{
printf(“\n播放等级!\n”);
返回0;
}
对于(i=0;i不正确答案){
printf(“您通过了!\n出色的工作!\n\n”);
}
否则{
printf(“您没有通过!\n您需要更多的工作!\n\n”);
}
返回0;
}

此外,任何关于格式的批评都是非常受欢迎的。谢谢

在代码中使用此
srand
,如下所示

int a;
int b; 

srand(time(0));
a  = rand() % 12;
b  = rand() % 12;

在代码中使用此
srand
,如下所示

int a;
int b; 

srand(time(0));
a  = rand() % 12;
b  = rand() % 12;

你需要了解C语言是如何工作的

rand()
只生成伪随机数。这意味着每次运行代码时,都会得到完全相同的数字序列

使用
srand
函数根据源编号生成随机数。如果您想要一个经常更改的,请使用系统时间

srand(时间(空))

还包括头文件
time.h
,以使用
time
功能


在调用
rand()
之前调用该函数。如果在程序中调用
rand()
之前不调用
srand()
,就好像调用了
srand(1)
一样:每次执行程序时,种子值都是1,生成的序列总是相同的

您需要了解C语言的工作原理

rand()
只生成伪随机数。这意味着每次运行代码时,都会得到完全相同的数字序列

使用
srand
函数根据源编号生成随机数。如果您想要一个经常更改的,请使用系统时间

srand(时间(空))

还包括头文件
time.h
,以使用
time
功能


在调用
rand()
之前调用该函数。如果在程序中调用
rand()
之前不调用
srand()
,就好像调用了
srand(1)
一样:每次执行程序时,种子值都是1,生成的序列总是相同的

,一般来说,保持格式一致是很好的。我在这里做了一些格式化,以便更清楚地显示块的开始和结束位置。程序员在格式化样式(例如制表符/空格、与for/if在同一行的大括号等)方面可能非常激进,但只要你保持一致并努力使其可读,你就应该很好。一般来说,保持格式一致是很好的。我在这里做了一些格式化,以便更清楚地显示块的开始和结束位置。程序员在格式化样式(例如,制表符/空格、与for/if在同一行的大括号等)方面可能非常激进,但只要您保持一致并努力使其可读,就应该可以了。