#include <bits/stdc++.h>
//所有头文件:C:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include\c++
using namespace std;
typedef unsigned uint;
typedef long long ll;
typedef unsigned long long ull;
//define int long long
const string NAME = "示例"; //题目名称
//打开文件
void data_start(string s) {
string tres = "data/" + NAME + "_" + s, resin = tres + ".in", resout = tres + ".out";
freopen(resin.c_str(), "r", stdin);
freopen(resout.c_str(), "w", stdout);
}
//给出完成提示
void data_end(string s) {
string res = NAME + "_" + s;
freopen("CON", "w", stdout);
printf("数据点 %s 已生成完成!\n", res.c_str());
}
//生成样例
void create_sample() {
data_start("sample");
//输出样例数据
data_end("sample");
}
signed main() {
//create_sample();
const int n = 10; //数据组数
for(int T = 1; T <= 2; T++) {
data_start(to_string(T));
//输出测试点数据
int a, b;
cin >> a >> b;
cout << a + b;
data_end(to_string(T));
}
return 0;
}
示例_1.in 文件中的数据:3 1
执行代码后 示例_1.out 文件中的数据(正确):4
示例_2.in 文件中的数据:5 2
执行代码后 示例_2.out 文件中的数据(错误):4
但是若将 cin >> a >> b; 改为 scanf("%d%d", &a, &b); 示例_2.out 文件中的数据却又是正确的(为7),求原因及解决方案(经测试,此问题与文件为中文名无关)。