四则运算2
题目要求:编写一个能自动生成自定义题目数的小学四则运算。要求能支持真分数0
思路:随机数+简单运算符+随机数+=的格式。
具体步骤:
1、要首先生成随机数;
2、然后随机生成一个符号,这样第二个数也可随机生成;
3、最后就可以利用简单的循环来输出所需题目;
4、至于真分数,是分子比分母小的数,我将一个真分数拆解,得到两个整数相除的格式;
5、然后比较分子分母的大小,将较大的数始终放在分母的位置。
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
#define N g
main()
{
int a,b,k,i,n, c,d,e,f,g;
do{
printf("\n请输入题目数量: ");
scanf("%d",&g);
printf("\n请输入数字类型(1.整数 2.真分数) -1为退出程序: ");
scanf("%d",&n);
switch(n)
{
case 1:
{
for(i=0;i<N;i++)
{
a=rand()%100+1;
b=rand()%100+1;
k=rand()%4+1;
printf("%d",a);
switch(k)
{
case 1:printf("+");break;
case 2:printf("-");break;
case 3:printf("*");break;
case 4:printf("/");break;
}
printf("%d=\t\t",b);
}
break;
}
break;
case 2:
{
for(i=0;i<N;i++)
{
e=rand()%100+1;
f=rand()%100+1;
k=rand()%4+1;
if ( e>=f)
printf("%d/%d",f,e);
else
printf("%d/%d",e,f);
switch(k)
{
case 1:printf("+");break;
case 2:printf("-");break;
case 3:printf("*");break;
case 4:printf("/");break;
}
c=rand()%100+1;
d=rand()%100+1;
if ( c>=d)
printf("%d/%d=\t\t",d,c);
else
printf("%d/%d=\t\t",c,d);
}
break;
}
break;
}
}while(n!=-1);
}