- void fraction() {
- int a,
- b,
- c,
- d,
- up,
- down,
- temp; //a,b,c,d表示一个数,up表示结果分子,down表示结果的分母
- char strre[10],
- stran[10],
- dow[10]; //strre表示最后结果转化的字符,stran表示输入的答案
- srand(unsigned(time(NULL)));
- a = rand() % 100 + 1;
- b = rand() % 100 + 1;
- temp = f(a, b);
- a = a / temp;
- b = b / temp;
- c = rand() % 100 + 1;
- d = rand() % 100 + 1;
- temp = f(c, d);
- c = c / temp;
- d = d / temp;
- char sign,
- s[4] = {' + ',
- ' - ',
- ' * ',
- ' / '
- };
- sign = s[rand() % 4];
- switch (sign) {
- case' + ': cout < "/" < " +" < "/" < "=" << endl;
- up = (a * d) + (b * c);
- down = b * d;
- break;
- case' - ': cout < "/" < " -" < "/" < "=" << endl;
- up = (a * d) - (b * c);
- down = b * d;
- break;
- case' * ': cout < "/" < " × " < "/" < "=" << endl;
- up = a * c;
- down = b * d;
- break;
- case' / ': cout < "/" < " ÷" < "/" < "=" << endl;
- up = a * d;
- down = b * c;
- break;
- }
- temp = f(up, down);
- up = up / temp;
- down = down / temp;
- itoa(up, strre, 10);
- itoa(down, dow, 10);
- strcat(strre, "/");
- strcat(strre, dow);
- cin >> stran;
- if (strcmp(stran, strre) == 0) {
- cout << "true" << endl;
- right1++;
- } else cout << "false" << endl;
- }
来源: http://www.bubuko.com/infodetail-1972854.html