#include "stdio.h"
#include "time.h"
int main()
{
srand((unsigned)time(NULL));
int i, digit1, digit2, symbol, topic, correct=0;
float result, correct1=0, grade;
topic = rand() % 10 + 1;
printf("有%d题\n", topic);
for (i = 0; i < topic; i++)
{
digit1 = rand() % 100 + 1;
digit2 = rand() % 100 + 1;
symbol = rand() % 6 + 1;
if (symbol == 1)
{
printf("%d + %d=",digit1,digit2);
scanf("%f", &result);
if (result == digit1 + digit2)
{
correct++;
}
}
else if (symbol == 2)
{
printf("%d - %d=", digit1, digit2);
scanf("%f", &result);
if (result == digit1 - digit2)
{
correct++;
}
}
else if (symbol == 3)
{
printf("%d * %d=", digit1, digit2);
scanf("%f", &result);
if (result == digit1 * digit2)
{
correct++;
}
}
else if (symbol == 4)
{
printf("%d / %d=", digit1, digit2);
scanf("%f", &result);
if (result == digit1 / digit2)
{
correct++;
}
}
else if (symbol == 5)
{
printf("%d %% %d=", digit1, digit2);
scanf("%f", &result);
if (result == digit1 % digit2)
{
correct++;
}
}
else if (symbol == 6)
{
printf("%d ^ %d=", digit1, digit2);
scanf("%f", &result);
if (result == digit1 ^ digit2)
{
correct++;
}
}
}
printf("%d,%d", correct, topic);
correct1 = correct / topic;
grade = 100 * correct1;
printf("成绩为%.2f\n", grade);
if (grade <= 100 && grade > 80)
{
printf("成绩为%.2f\n优秀", grade);
}
else if (grade <= 80 && grade > 60)
{
printf("成绩为%.2f\n良好", grade);
}
else if (grade <= 60 && grade >= 0)
{
printf("成绩为%.2f\n中等", grade);
}
else
{
printf("错误%.2f", grade);
}
getchar();
}
各位大佬请问一下correct1 = correct / topic;这条语句有什么问题为什么correct1永远是0,我百度也没找到类似情况
#include "time.h"
int main()
{
srand((unsigned)time(NULL));
int i, digit1, digit2, symbol, topic, correct=0;
float result, correct1=0, grade;
topic = rand() % 10 + 1;
printf("有%d题\n", topic);
for (i = 0; i < topic; i++)
{
digit1 = rand() % 100 + 1;
digit2 = rand() % 100 + 1;
symbol = rand() % 6 + 1;
if (symbol == 1)
{
printf("%d + %d=",digit1,digit2);
scanf("%f", &result);
if (result == digit1 + digit2)
{
correct++;
}
}
else if (symbol == 2)
{
printf("%d - %d=", digit1, digit2);
scanf("%f", &result);
if (result == digit1 - digit2)
{
correct++;
}
}
else if (symbol == 3)
{
printf("%d * %d=", digit1, digit2);
scanf("%f", &result);
if (result == digit1 * digit2)
{
correct++;
}
}
else if (symbol == 4)
{
printf("%d / %d=", digit1, digit2);
scanf("%f", &result);
if (result == digit1 / digit2)
{
correct++;
}
}
else if (symbol == 5)
{
printf("%d %% %d=", digit1, digit2);
scanf("%f", &result);
if (result == digit1 % digit2)
{
correct++;
}
}
else if (symbol == 6)
{
printf("%d ^ %d=", digit1, digit2);
scanf("%f", &result);
if (result == digit1 ^ digit2)
{
correct++;
}
}
}
printf("%d,%d", correct, topic);
correct1 = correct / topic;
grade = 100 * correct1;
printf("成绩为%.2f\n", grade);
if (grade <= 100 && grade > 80)
{
printf("成绩为%.2f\n优秀", grade);
}
else if (grade <= 80 && grade > 60)
{
printf("成绩为%.2f\n良好", grade);
}
else if (grade <= 60 && grade >= 0)
{
printf("成绩为%.2f\n中等", grade);
}
else
{
printf("错误%.2f", grade);
}
getchar();
}
各位大佬请问一下correct1 = correct / topic;这条语句有什么问题为什么correct1永远是0,我百度也没找到类似情况