放在最先:G++和GCC分别是C++和C的编译器,C++和C是语言。 G++和C++选项下的代码是没有差异的,但在库上面,两者有一定差距,比如G++默认可以cin一个string变量,而选择C++时则需要#include,如果用C++编写代码,提交时最好选择G++作为编译器.

这样的一段c++代码用gCC是会编译错误的。

#include <iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
	int m, n;
	while (scanf("%d%d", &m, &n) != EOF)
	{
		int miny;
		miny = m*n - pow(n - 1, 2) / 4;
		printf("%d\n", miny);
	}
	return 0;
}

ACM提交,C++,G++,C,GCC的区别_g++
ACM提交,C++,G++,C,GCC的区别_C_02
同时,使用scanf获取多组数据,若没有结束符,会出现输出多余的问题。

#include <iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
	int m, n;
	while (scanf("%d%d",&m,&n))
	{
		int miny;
		miny = m*n - pow(n - 1, 2) / 4;
		printf("%d\n", miny);
	}
	return 0;
}

ACM提交,C++,G++,C,GCC的区别_C_03
ACM提交,C++,G++,C,GCC的区别_c++_04
而cin就不会。

#include <iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
	int m, n;
	while (cin>>m>>n)
	{
		int miny;
		miny = m*n - pow(n - 1, 2) / 4;
		printf("%d\n", miny);
	}
	return 0;
}

ACM提交,C++,G++,C,GCC的区别_#include_05
ACM提交,C++,G++,C,GCC的区别_c++_06

综上所述,编译器选择g++,最安全的方法是cin,cout。

精度问题
cin和cout 是可以输出long long的
ACM提交,C++,G++,C,GCC的区别_c++_07