您的位置:首页 > 编程语言 > C语言/C++

OJ在线判题注意事项(C++版)

2016-08-04 16:50 281 查看

1.正确处理输入格式

常见的输入格式

预先不输入数据的组数
预先输入数据的组数
一组数据

应对措施

读到文件结尾
读数据组数然后循环
直接读数据

代码

while (cin>>a>>b) {
cout<<a + b<< endl;
}
cin<<n;
for (int i = 0; i < n; i++) {
int a, b;
cin>>a>>b;
cout<<a + b<<endl;
}
cin>>a>>b;
<span style="font-family: Arial, Helvetica, sans-serif;">cout<<a + b<<endl;</span>


2.正确处理输出格式

不输出case数
要输出case数
每个case之后有空行
两个case之间有空行
cin<<n;
for (int i = 0; i < n; i++) {
int a, b;
cin>>a>>b;
cout<<a + b<<endl;
}
cin<<n;
for (int i = 0; i < n; i++) {
int a, b;
cin>>a>>b;
cout<<"Case"<<i+1<<a + b<<endl;
}
cin<<n;
for (int i = 0; i < n; i++) {
int a, b;
cin>>a>>b;
cout<<"Case"<<i + 1<<a + b<<endl<<endl;
}
cin<<n;
for (int i = 0; i < n; i++) {
int a, b;
cin>>a>>b;
<span style="white-space:pre">	</span>if (i > 0) {
<span style="white-space:pre">		</span>cout<<endl;
<span style="white-space:pre">	</span>}
cout<<"Case"<<i + 1<<a + b<<endl<<endl;
}

3.处理细节与技巧

输入:
scanf和cin都是读到空白结束,尽量使用scanf和gets代替cin。
while (scanf("%d%d",&a,&b)!=EOF) 代替 while (cin>>a>>b)
输出:
注意大小写,换行,尽量用printf代替cout。
printf("%d\n", a + b) 代替 cout<<a + b<<endl;

4.常见的结果错误状态

编译错误+格式错误+答案错误+运行超时
内存超限+输出超限+返回非零+指针越界

5.用getline读取整行文本

int main()
{
string line:
while(getline(cin,line))
cout<<line<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: