本文共 2166 字,大约阅读时间需要 7 分钟。
#define _CRT_SECURE_NO_WARNINGS #include#include #include #include #include // 生成四则运算题目 void giveQuestion() { FILE* fp = fopen("test.txt", "w"); if (fp == NULL) { printf("文件打开失败"); return; } srand((size_t)time(NULL)); for (int i = 0; i < 10; i++) { int num1 = rand() % 100 + 1; int num2 = rand() % 100 + 1; char ch = symbol[rand() % 4]; char buf[64] = {0}; sprintf(buf, "%d %c %d=\n", num1, ch, num2); fputs(buf, fp); } fclose(fp); printf("生成成功!\n"); } // 解答四则运算题目 void answerQuestion() { FILE* fp = fopen("test.txt", "r"); if (fp == NULL) { printf("文件打开失败"); } FILE* fp1 = fopen("test1.txt", "w"); if (fp1 == NULL) { printf("文件打开失败"); } while (!feof(fp)) { char buf[32] = {0}; char* result = fgets(buf, sizeof(buf), fp); if (result == NULL) { break; } int num1, num2; char ch; sscanf(buf, "%d %c %d", &num1, &ch, &num2); int ret = 0; if (ch == '+') { ret = num1 + num2; } else if (ch == '-') { ret = num1 - num2; } else if (ch == '*') { ret = num1 * num2; } else if (ch == '/') { ret = num1 / num2; } char buf1[32] = {0}; sprintf(buf1, "%d %c %d=%d\n", num1, ch, num2, ret); fputs(buf1, fp1); } fclose(fp1); fclose(fp); printf("解答成功!\n"); } int main() { giveQuestion(); answerQuestion(); return 0; }
转载地址:http://thwc.baihongyu.com/