C语言:给小学生编写练习20以内加、减法计算的程序。
(1)给小学生编写练习20以内加、减法计算的程序。可参考:主函数:计算机提示学生选择进行加法还是减法运算(将得到的运算符传给函数一);重复出题,最多做100道题,学生也可...
(1)给小学生编写练习20以内加、减法计算的程序。
可参考:
主函数:计算机提示学生选择进行加法还是减法运算 (将得到的运算符传给函数一) ;重复出题,最多做100道题,学生也可以中途退出;两种情况均视为测验结束,计算机应显示:所做题目的总数,做对的题数,做错的题数,和最后得分。
函数一,出题:计算机随机给出两个20以内的数(计算机要保证参与运算的数和运算结果都在20以内,且不能小于0)结合运算符将题目输出到屏幕上;将计算结果返回,并传给函数二;
函数二,判断:提示学生输入答案。若答案正确,则显示“That’s right!”,学生得分为10分;若答案不正确,则显示“It’s not correct!”,学生得分为0分;返回学生得分。
#include "stdafx.h"
#include <stdlib.h>
#include <time.h>
int random1();
int random2();
int grade();
int edd();
void main()
{
int daan,a,counter,answer,y,fenshu=0;
for(counter=1;counter<=100;counter++)
{
printf("请进行选择:1.加法 2.减法 3.退出\n");
scanf("%d",&a);
if(a==1)
{
daan=random1();
}
else if(a==2)
{
daan=random2();
}
else if(a==3)
{
edd();
}
else
{
printf("你的输入有问题!请重新输入!");
}
printf("请输入计算出的答案=%d",answer);
scanf("%d",&answer);
fenshu=fenshu+grade();
printf("是否继续? 1.是 2.否");
scanf("%d",&y);
edd();
}
}
int random1()
{
int m,n,add;
for(add=0;add<=20; )
{
srand(time(NULL));
m=rand()%20+1;
n=rand()%20+1;
add=m+n;
if(m>=0&&m<=20&&n>=0&&n<=20)
{
return add;
}
}
}
int random2()
{
int m,n,add;
for(add=0;add<=20; )
{
srand(time(NULL));
m=rand()%20+1;
n=rand()%20+1;
add=n-m;
if(m>=0&&m<=20&&n>=0&&n<=20)
{
if(n<=m)
{
return -add;
}
else
{ return add;}
}
}
}
int grade(int daan,int answer)
{
int fen;
if(daan==answer)
{
printf("That’s right!");
fen=10;
}
else if(daan!=answer)
{
printf("It’s not correct!");
fen=0;
}
return fen;
}
int edd(int counter,int fenshu,int y)
{
if(y==2||y==3)
{printf("所做题目的总数:%d",counter);
printf("做对的题目数:%d",fenshu/10);
printf("做错的题目数:%d",(1000-fenshu/10)/10);
printf("你的最后等分为:%d",fenshu);}
return 0;
}求大神讲解下我这个哪里错了,怎么改? 展开
可参考:
主函数:计算机提示学生选择进行加法还是减法运算 (将得到的运算符传给函数一) ;重复出题,最多做100道题,学生也可以中途退出;两种情况均视为测验结束,计算机应显示:所做题目的总数,做对的题数,做错的题数,和最后得分。
函数一,出题:计算机随机给出两个20以内的数(计算机要保证参与运算的数和运算结果都在20以内,且不能小于0)结合运算符将题目输出到屏幕上;将计算结果返回,并传给函数二;
函数二,判断:提示学生输入答案。若答案正确,则显示“That’s right!”,学生得分为10分;若答案不正确,则显示“It’s not correct!”,学生得分为0分;返回学生得分。
#include "stdafx.h"
#include <stdlib.h>
#include <time.h>
int random1();
int random2();
int grade();
int edd();
void main()
{
int daan,a,counter,answer,y,fenshu=0;
for(counter=1;counter<=100;counter++)
{
printf("请进行选择:1.加法 2.减法 3.退出\n");
scanf("%d",&a);
if(a==1)
{
daan=random1();
}
else if(a==2)
{
daan=random2();
}
else if(a==3)
{
edd();
}
else
{
printf("你的输入有问题!请重新输入!");
}
printf("请输入计算出的答案=%d",answer);
scanf("%d",&answer);
fenshu=fenshu+grade();
printf("是否继续? 1.是 2.否");
scanf("%d",&y);
edd();
}
}
int random1()
{
int m,n,add;
for(add=0;add<=20; )
{
srand(time(NULL));
m=rand()%20+1;
n=rand()%20+1;
add=m+n;
if(m>=0&&m<=20&&n>=0&&n<=20)
{
return add;
}
}
}
int random2()
{
int m,n,add;
for(add=0;add<=20; )
{
srand(time(NULL));
m=rand()%20+1;
n=rand()%20+1;
add=n-m;
if(m>=0&&m<=20&&n>=0&&n<=20)
{
if(n<=m)
{
return -add;
}
else
{ return add;}
}
}
}
int grade(int daan,int answer)
{
int fen;
if(daan==answer)
{
printf("That’s right!");
fen=10;
}
else if(daan!=answer)
{
printf("It’s not correct!");
fen=0;
}
return fen;
}
int edd(int counter,int fenshu,int y)
{
if(y==2||y==3)
{printf("所做题目的总数:%d",counter);
printf("做对的题目数:%d",fenshu/10);
printf("做错的题目数:%d",(1000-fenshu/10)/10);
printf("你的最后等分为:%d",fenshu);}
return 0;
}求大神讲解下我这个哪里错了,怎么改? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询