首先由使用者选择是运算 + - * / 中的哪一种运算。
然后生成2个随机整数(1-100)之间(不能是伪随机数)
显示两数字的运算关系。要求使用者打出答案。
判断正确还是错误。
一共出10题,每题正确或者错误都记录分数。
10题结束后,自动给出总分。
请高手们帮帮忙。用WIN-TC编个源代码。。谢谢
#define P {printf("正确");return score1;}else {printf("错误.");return score2; }
#include <stdlib.h>
main()
{
int compute(char *p);
char ch; //ch为输入的+,-,*,/
int i=0; //i为出题次数
int score=0; //score为成绩
do
{
printf("please input :");
scanf("%c",&ch);
score+=compute(&ch);
i+=1;
}
while(i<=10);
printf("你的得分:%d分",score);
}
int compute(char *p)
{
static int i;
int a,b,c; //a,b为随机数,c为a,b经过运算后的正确得数
int score1=10,score2=0;//score1,score2为每道题的得分:0或10
i=0;
i++;
a=rand()%100+1;
b=rand()%100+1;
switch(*p)
{
case'+': printf("%d. %d+%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
case'-': printf("%d. %d-%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
case'*': printf("%d. %d*%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
case'/': printf("%d. %d/%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
}
}
tc 2.0下运行正常
#define P {printf("正确");return score1;}else {printf("错误.");return score2; }
#include <stdlib.h>
main()
{
int compute(char *p);
char ch; //ch为输入的+,-,*,/
int i=0; //i为出题次数
int score=0; //score为成绩
do
{
printf("please input :");
scanf("%c",&ch);
score+=compute(&ch);
i+=1;
}
while(i<=10);
printf("你的得分:%d分",score);
}
int compute(char *p)
{
static int i;
int a,b,c; //a,b为随机数,c为a,b经过运算后的正确得数
int score1=10,score2=0;//score1,score2为每道题的得分:0或10
i=0;
i++;
a=rand()%100+1;
b=rand()%100+1;
switch(*p)
{
case'+': printf("%d. %d+%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
case'-': printf("%d. %d-%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
case'*': printf("%d. %d*%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
case'/': printf("%d. %d/%d=",i,a,b);
scanf("%d",&c);
if((a+b)==c)
P
}
}
tc 2.0下运行正常