小学数学运算测试系统设计
发布网友
发布时间:2022-05-03 10:01
我来回答
共3个回答
热心网友
时间:2023-10-20 09:13
楼上修改得
完善:可以做加减法,随机产生数,编译通过并正确运行,减法不会出现得数为负。
修改后如下:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main()
{
int num,score, sum,
a,b,
i, type;
srand( (unsigned)time( NULL ));
while (1)
{
printf("输入做题数目:(输入 0 结束)");
scanf("%d",&num);
if (num==0)break;
printf("开始做题:\n");
score=0;
for (i=0;i<num;i++)
{
a=rand()%10;
b=rand()%10;
type = rand()%2;
if (type == 0)
{
printf("%d + %d =? ",a,b);
scanf("%d",&sum);
if (sum==a+b)
{
score++;
printf("恭喜你,做对了。\n");
}
else
printf("做错了,加油啊。\n");
}
else
{
if (a > b)
printf("%d - %d =? ",a,b);
else printf("%d - %d =? ",b,a);
scanf("%d",&sum);
if (sum==abs(a-b))
{
score++;
printf("恭喜你,做对了。\n");
}
else
printf("做错了,加油啊。\n");
}
}
printf("共有%d题,你做对了%d题。\n",num,score);
}
printf("做题结束。\n");
return 0;
}
热心网友
时间:2023-10-20 09:13
楼上修改得
完善:可以做加减法,随机产生数,编译通过并正确运行,减法不会出现得数为负。
修改后如下:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main()
{
int num,score, sum,
a,b,
i, type;
srand( (unsigned)time( NULL ));
while (1)
{
printf("输入做题数目:(输入 0 结束)");
scanf("%d",&num);
if (num==0)break;
printf("开始做题:\n");
score=0;
for (i=0;i<num;i++)
{
a=rand()%10;
b=rand()%10;
type = rand()%2;
if (type == 0)
{
printf("%d + %d =? ",a,b);
scanf("%d",&sum);
if (sum==a+b)
{
score++;
printf("恭喜你,做对了。\n");
}
else
printf("做错了,加油啊。\n");
}
else
{
if (a > b)
printf("%d - %d =? ",a,b);
else printf("%d - %d =? ",b,a);
scanf("%d",&sum);
if (sum==abs(a-b))
{
score++;
printf("恭喜你,做对了。\n");
}
else
printf("做错了,加油啊。\n");
}
}
printf("共有%d题,你做对了%d题。\n",num,score);
}
printf("做题结束。\n");
return 0;
}
热心网友
时间:2023-10-20 09:14
供小孩使用的程序,已经编译运行通过。
加减都可以算了,也不会出现负值,
因为出现负值的时候我把a,b调换了。
我的邮箱:cir_chen@126.com
发个邮件过来,我把编译连接后的exe文件发给你。
#include <stdlib.h>
#include <stdio.h>
int main()
{
int num,score, sum,
a,b,
i;
char token[2]={'-','+'};
int aOrs[2]={-1,1},
which,tmp;
while(1)
{
printf("输入做题数目:(输入 0 结束)");
scanf("%d",&num);
if(num==0)break;
printf("开始做题:\n");
score=0;
for(i=0;i<num;i++)
{
randomize();
a=random(9);
b=random(9);
a++;
b++;
which=a%2;
if(a+b*aOrs[which]<0)
{
tmp=a;a=b;b=tmp;
}
printf("第%d题:%d %c %d =? ",i+1,a,token[which],b);
scanf("%d",&sum);
if(sum==a+b*aOrs[which])
{
score++;
printf("恭喜你,做对了。");
}
else
printf("做错了,加油啊。");
printf("\n\n");
}
printf("共有%d题,你做对了%d题。\n",num,score);
}
printf("做题结束。\n");
getchar();getchar();
return 0;
}
热心网友
时间:2023-10-20 09:14
供小孩使用的程序,已经编译运行通过。
加减都可以算了,也不会出现负值,
因为出现负值的时候我把a,b调换了。
我的邮箱:cir_chen@126.com
发个邮件过来,我把编译连接后的exe文件发给你。
#include <stdlib.h>
#include <stdio.h>
int main()
{
int num,score, sum,
a,b,
i;
char token[2]={'-','+'};
int aOrs[2]={-1,1},
which,tmp;
while(1)
{
printf("输入做题数目:(输入 0 结束)");
scanf("%d",&num);
if(num==0)break;
printf("开始做题:\n");
score=0;
for(i=0;i<num;i++)
{
randomize();
a=random(9);
b=random(9);
a++;
b++;
which=a%2;
if(a+b*aOrs[which]<0)
{
tmp=a;a=b;b=tmp;
}
printf("第%d题:%d %c %d =? ",i+1,a,token[which],b);
scanf("%d",&sum);
if(sum==a+b*aOrs[which])
{
score++;
printf("恭喜你,做对了。");
}
else
printf("做错了,加油啊。");
printf("\n\n");
}
printf("共有%d题,你做对了%d题。\n",num,score);
}
printf("做题结束。\n");
getchar();getchar();
return 0;
}
热心网友
时间:2023-10-20 09:14
一个加法表
#include <stdio.h>
int main()
{
int i,j;
for (i = 0; i < 10; i ++)
{
for (j = 0; j <= i; j ++)
{
printf("%d+%d=%d ",i,j,i + j);
}
printf("\n");
}
return 0;
}
热心网友
时间:2023-10-20 09:14
一个加法表
#include <stdio.h>
int main()
{
int i,j;
for (i = 0; i < 10; i ++)
{
for (j = 0; j <= i; j ++)
{
printf("%d+%d=%d ",i,j,i + j);
}
printf("\n");
}
return 0;
}