多出来的要求:
1.可以指定题目数量:
2.支持真分数运算
实现代码:
#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; b = d; } 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"); }
运行结果: