如何显示正确答案的数量?

时间:2011-02-13 05:31:54

标签: c while-loop

我开始编程C,并提出了一个简短的测验程序。程序要求用户输入他们想要回答的问题数。然后问题采用相同的格式(#+#+# - #),但每次都会生成随机数。我的问题是如何向用户显示他们在程序结束时得到的正确答案的数量?我知道你必须执行一个print f语句来显示它,但我不知道还有什么

#include <stdio.h>
#include <time.h>
#include <conio.h>
#include <stdlib.h>
main()
{

srand(time(NULL));

int NumQuestions = 0;
int responce = 0;
int loopcount = 0;
int answer = 0;
int NumCorrect = 0; // HOW TO GET THIS ???????????????????????????????

printf("\n\welcome to your math quize!\n ");

printf("\ntype the numer of questions you would like to answer: ");
scanf("%d", &NumQuestions); //number of questions. 

while(loopcount<NumQuestions){

int n1 = 0;
int n2 = 0; 
int n3 = 0; 
int n4 = 0;
n1 = rand()% 9 + 1;
n2 = rand()% 9 + 1; 
n3 = rand()% 9 + 1; 
n4 = rand()% 9 + 1; 
answer = n1 + n2 + n3 - n4;

              printf("\n%d + %d + %d - %d =", n1, n2, n3, n4);
              scanf("%d", &responce); // user answer

                          if(responce == answer)
                           printf("\ncorrect\n");

                           else
                           printf("\nincorrect\n");

loopcount++;
} //exit loop

printf("you got %d andswers correct!", NumCorrect); //????????????????????????????

getch();
} // end process 

3 个答案:

答案 0 :(得分:1)

在你的if语句中:

 if(responce == answer)
                       printf("\ncorrect\n");

                       else
                       printf("\nincorrect\n");

您应首先添加大括号并正确格式化:

 if (responce == answer) {
     printf("\ncorrect\n");
 } else {
     printf("\nincorrect\n");
 }

然后你应该修好英语:

 if (response == answer) {
     printf("\ncorrect\n");
 } else {
     printf("\nincorrect\n");
 }

然后您需要做的就是为正确的案例增加计数器:

 if (response == answer) {
     printf("\ncorrect\n");
     correct_count++;
 } else {
     printf("\nincorrect\n");
 }

另请注意,我在此使用了correct_count而不是NumCorrect,因为您的命名应该保持一致;所有其他变量都是小写的,那你为什么选择NumCorrect标题呢?作为常规编程学科的一部分,一致性非常重要。

答案 1 :(得分:0)

if(responce == answer){
         printf("\ncorrect\n");
         NumCorrect ++;
}

答案 2 :(得分:0)

您有一个名为NumCorrect的变量,但您没有在while循环中使用它。

你需要在while循环中对它做一些事情,也许在if语句中。 ; - )