本周作业:自动生成四则运算题目
程序代码:
#include"stdio.h" #include"stdlib.h"
#include<time.h>
main(){
int a,b,result,i,j,m,n;
printf("四则运算题目数量:");
scanf("%d",&i);
srand( (unsigned)time( NULL ) );
for( j = 0; j < i;j++ )
{
a=rand()%100+1;
b=rand()%100+1;
m=rand()%100+1;
n=rand()%100+1;
result=rand()%8;
switch(result){
case 0:printf("%d+%d=
",a,b);break;
case 1:printf("%d-%d=
",a,b);break;
case 2:printf("%d*%d=
",a,b);break;
case 3:printf("%d/%d=
",a,b);break;
case 4:printf("%d/%d+%d/%d=
",a,m,b,n);break;
case 5:printf("%d/%d-%d/%d=
",a,m,b,n);break;
case 6:printf("%d/%d*%d/%d=
",a,m,b,n);break;
case 7:printf("%d/%d/%d/%d=
",a,m,b,n);break;
}
}
}
程序截图:
我的总结:
在这次作业中,我终于知道基础薄弱的话是不可能完成一个项目的,所以在此基础上,我借鉴了网上的程序,并认真学习。在刚开始我真的是毫无头绪。
后来我在看了别人的程序之后,知道了四则运算要先是随机数的生成,使用rand函数就可以生成。之后就是四则运算表达式,使用的switch语句。最开始我将a、b两个随机数定义为int整型,在switch语句中,分支了4个选择,分别是加减乘除。题目中要求还要支持真分数的运算,但在c语言中没有真分数,所以用float浮点型来表示,但是生成的结果并不是想要的。经过上网查找借鉴,最后将switch语句分支了8个选择,分别是四个整数的和四个分数的,而其中的分数则使用a/m来表示。
虽然这些并不算什么,但是我会努力地学习,争取追上其他同学,最后也可以自己完成一个完整的项目。