1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include <stdio.h> int main(int argc, char *argv[]) { int a, b,result; char op; scanf("%d%c%d", &a,&op,&b); switch(op) { case '+': result =a+b; break; case '-': result =a-b; break; case '*': result =a*b; break; case '/': result =a/b; break; case '%': result =a%b; break; default: break; } printf("%d\n", result); return 0; } |
第7行和第8行表示从文件 1.in.txt 中读取数据,scanf 也变成了 fscanf
"rb" 的意思是 read binary,表示读取二进制文件
"wb"的意思是 write binary,表示写入二进制文件
不要忘了第32行,来关闭文件。
文件 1.in.txt 的内容可以是:
1 2 3 4 5 | 3+4 15/6 17%4 9-6 9*7 |
当你确认程序已经没有任何问题时,就可以提交你的程序了,这时就不要从文件 1.in.txt 中读取了,而是从标准输入 stdin 中读取。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include <stdio.h> int main(int argc, char *argv[]) { int a, b,result; char op; while (scanf("%d%c%d", &a,&op,&b)!=EOF) { switch(op) { case '+': result =a+b; break; case '-': result =a-b; break; case '*': result =a*b; break; case '/': result =a/b; break; case '%': result =a%b; break; default: break; } printf("%d\n", result); } return 0; } |
如果你不想改动程序,可以吗?
答案当然是肯定的。