标签:oid case 想法 循环 switch use ase include sig
一:想法:1.支持真分数,用到数学函数show()
2.30道运算所以用到循环函数 i+1
3.保证没有重复的算式,所以用到for语句。
二:程序代码:#include<stdio.h>
#include<Windows.h>
#include<time.h>
void main()
{
int a, b, c, d,i,m,n;
float p, q;
srand(unsigned( time(NULL)));
for (i = 0; i < 30; i++)
{
a = rand() % 100;
b = rand() % 100;
c = rand() % 5;
switch (c)
{
case 0: printf("%d + %d =\n", a, b);
break;
case 1:if (a < b)
{
d = a;
a = b;
}
printf("%d - %d =\n", a, b);
break;
case 2:printf("%d * %d =\n", a, b);
break;
case 3:
while (b == 0)
{
b = rand() % 100;
}
printf("%d / %d =\n", a, b);
break;
case 4:
a = rand() % 100;
b = rand() % 100;
m = rand() % 100;
n = rand() % 100;
c = rand() %4 ;
while (b == 0)
{
b = rand() % 100;
}
while (n == 0)
{
n = rand() % 100;
}
if (a > b)
{
d = a;
a = b;
b = d;
}
if (m > n)
{
d = m;
m = n;
n = d;
}
switch (c)
{
case 0:printf("%d/%d + %d/%d =\n", a, b, m, n);
break;
case 1:
p = (float)a / (float)b;
q = (float)m / (float)n;
if (p < q)
{
d = a;
a = m;
m = d;
d = b;
b = n;
n = d;
}
printf("%d/%d - %d/%d =\n", a,b,m,n);
break;
case 2:printf("%d/%d * %d/%d =\n", a, b, m, n);
break;
case 3:
a = rand() % 100;
b = rand() % 100;
m = rand() % 100;
n = rand() % 100;
c = rand() % 4;
while (m == 0)
{
m = rand() % 100;
}
printf("%d/%d / %d/%d =\n", a, b, m, n);
break;
}
}
}
system("pause");
}
三:运行结果截图:
标签:oid case 想法 循环 switch use ase include sig
原文地址:https://www.cnblogs.com/sunyangkai/p/9751852.html