c语言四则运算 30
任务说明:编写一个程序,通过计算机随机产生两个1~10之间的数字给学生出一道小学生四则运算题。如果输入答案正确,则显示“Right!”,否则显示“Notcorrect!”...
任务说明:
编写一个程序,通过计算机随机产生两个1~10之间的数字给学生出一道小学生四则运算题。如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,连续做10道题,10道题做完后,按每题10分统计总得分,然后打印出总分和做错的题数。
要求:
① 随机数的产生在主函数;( 用到的随机函数rand()、srand(time(NULL)),头文件<stdlib.h>、<time.h>,srand函数放在循环体外 )
② 通过随机数生成的表达式由Compute函数实现,Compute函数的返回值表示用户输入的答案是否正确;
③ 打印计算结果正确与否在Print函数进行;
④ 减法运算满足计算结果≥0;除法运算要求能被整除。
请按以下给定的函数原形编写程序:
int Compute( int a, int b, int op ) ;
函数功能: 对两整型数进行加、减、乘、除四则运算
函数参数: 整型变量a、b分别表示参加运算的两个操作数
整型变量op表示运算类型
函数返回值:当用户输入的答案与结果相同时,返回值为 1,
否则返回值为 0
void Print( int flag ) ;
函数功能: 打印计算结果正确与否的信息
函数参数: 整型变量flag,标志结果正确与否
函数返回值:无 展开
编写一个程序,通过计算机随机产生两个1~10之间的数字给学生出一道小学生四则运算题。如果输入答案正确,则显示“Right!”,否则显示“Not correct!”,不给机会重做,连续做10道题,10道题做完后,按每题10分统计总得分,然后打印出总分和做错的题数。
要求:
① 随机数的产生在主函数;( 用到的随机函数rand()、srand(time(NULL)),头文件<stdlib.h>、<time.h>,srand函数放在循环体外 )
② 通过随机数生成的表达式由Compute函数实现,Compute函数的返回值表示用户输入的答案是否正确;
③ 打印计算结果正确与否在Print函数进行;
④ 减法运算满足计算结果≥0;除法运算要求能被整除。
请按以下给定的函数原形编写程序:
int Compute( int a, int b, int op ) ;
函数功能: 对两整型数进行加、减、乘、除四则运算
函数参数: 整型变量a、b分别表示参加运算的两个操作数
整型变量op表示运算类型
函数返回值:当用户输入的答案与结果相同时,返回值为 1,
否则返回值为 0
void Print( int flag ) ;
函数功能: 打印计算结果正确与否的信息
函数参数: 整型变量flag,标志结果正确与否
函数返回值:无 展开
1个回答
2015-04-18
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int n,n1;
char fun(int op){if(op==0)return '+';else if(op==1)return '*';else if(op==2)return '-';else return '/';}
int Compute( int a, int b, int op )
{
int p;
if(op==0)p=a+b;else if(op==1)p=a*b;else if(op==2)p=a-b;else p=a/b;
if(n==p){n1++;
return 1;}
else
return 0;
}
void Print(int flag)
{
if(flag==1)printf("Right!\n");
else
printf("Not correct!\n");
}
void main()
{
srand((unsigned)time(NULL));
int a,b,op,i=0,num;
while(true)
{
if(i==10)break;
a=rand()%10+1;
b=rand()%10+1;
op=rand()%4;
if(a%b==0&&a>=b)
{
i++;
printf("%d%c%d=",a,fun(op),b);
scanf("%d",&n);
num=Compute(a,b,op);
Print(num);
}
}
printf("you grade is:%d,you falsed %d!\n",n1*10,10-n1);
}
#include <stdlib.h>
#include <time.h>
int n,n1;
char fun(int op){if(op==0)return '+';else if(op==1)return '*';else if(op==2)return '-';else return '/';}
int Compute( int a, int b, int op )
{
int p;
if(op==0)p=a+b;else if(op==1)p=a*b;else if(op==2)p=a-b;else p=a/b;
if(n==p){n1++;
return 1;}
else
return 0;
}
void Print(int flag)
{
if(flag==1)printf("Right!\n");
else
printf("Not correct!\n");
}
void main()
{
srand((unsigned)time(NULL));
int a,b,op,i=0,num;
while(true)
{
if(i==10)break;
a=rand()%10+1;
b=rand()%10+1;
op=rand()%4;
if(a%b==0&&a>=b)
{
i++;
printf("%d%c%d=",a,fun(op),b);
scanf("%d",&n);
num=Compute(a,b,op);
Print(num);
}
}
printf("you grade is:%d,you falsed %d!\n",n1*10,10-n1);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询