Copyright (c) 2016,
烟台大学计算机与控制学院 All ringts reserved.
文件名称:项目三- 小学生数学考试系统
作 者:王兴振
完成日期:2016年11月14日
版 本 号:未知
题目描述:
参考课本(p70 3.17)
(1)实现基本功能
(2)进一步改善,提高题目质量。要求(1):运算数,结果都在100以内!
(2)先随机产生运算符后,针对各个运算符保证以下要求:对加法,两数
之和保证不大于100;对减法,被减数大于减数,且被减数不大于100;对乘
法,两数之积不大于100;对除法,被除数大于除数,且被除数不大于100;
(3)除数不许为0.
答 案(1):
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int sum,a,b,c,i=1,j=0;
while(i<=10)
{
printf("第 %d 道题:\n", i);
srand(time(0));
a=rand()%100+1;
b=rand()%100+1;
sum=a+b;
printf("%d + %d = ", a,b);
scanf("%d", &c);
printf("\n");
if (c==sum)
j++;
i++;
}
printf("你总共答对 %d 道题。\n", j);
return 0;
}
答 案(2):
#include <stdlib.h>
#include <time.h>
int main()
{
long int n=1,c_sign,i=0,a,b,r,d;
while (n<=10)
{
srand((unsigned) time(NULL));
c_sign=rand()%4+1;
a=rand()%100+1;
b=rand()%100+1;
switch (c_sign)
{
case 1:
r=a+b;
if (r<=100)
{
printf("%ld + %ld =", a,b);
scanf("%ld", &d);
if (d==r)
i++;
}
else
n--;break;
case 2:
r=a*b;
if (r<=100)
{
printf("%ld × %ld =", a,b);
scanf("%ld", &d);
if (d==r)
i++;
}
else
n--;break;
case 3:
r=a/b;
if (a>=b && a%b==0)
{
printf("%ld ÷ %ld =", a,b);
scanf("%ld", &d);
if (d==r)
i++;
}
else
n--;break;
case 4:
r=a-b;
if (a>b)
{
printf("%ld - %ld =", a,b);
scanf("%d", &d);
if (d==r)
i++;
}
else
n--;break;
}
n++;
}
printf("你做对了 %ld 道题", i);
return 0;
}