#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 10
int cal(int, int, int, int);
main()
{
//初期化フェーズ
unsigned int a, b, c, num;
int i, n;
//処理フェーズ
srand((unsigned int)time(NULL));
printf("3つの変数で四則演算します\n");
for (n = 1; n <= 100; n++) {
num = (rand() % 6);
a = rand() % SIZE;
b = rand() % SIZE;
c = rand() % SIZE;
i = cal(a, b, c, num);
printf("%d %d %d %d\n", a, b, c, num);
while (i == 999) {
num = rand() % 6;
a = rand() % SIZE;
b = rand() % SIZE;
c = rand() % SIZE;
i = cal(a, b, c, num);
printf("%d %d %d %d\n", a, b, c, num);
}
if (num == 0)
printf("%d * %d + %d = ", a, b, c);
else if (num == 1)
printf("%d + %d * %d = ", a, b, c);
else if (num == 2)
printf("%d * %d - %d = ", a, b, c);
else if (num == 3)
printf("%d - %d * %d = ", a, b, c);
else if (num == 4)
printf("%d / %d - %d = ", a, b, c);
else if (num == 5)
printf("%d - %d / %d = ", a, b, c);
else
printf("エラー\n");
printf("%d %d\n", i, n);
//終了フェーズ
}
return 0;
}
int cal (int x, int y, int z, int num1)
{
if (num1 == 0)
return x * y + z;
else if (num1 == 1)
return x + y * z;
else if (num1 == 2)
return x * y - z;
else if (num1 == 3)
return x - y * z;
else if (num1 == 4)
if (x % y == 0)
return x / y - z;
else
return 999;
else if (num1 == 5)
if (y % z == 0)
return x - y / z;
else
return 999;
else
return 999;
}