关于C++问题:以下六点找标准回复

#include
int main()
{
int a = 3, b = 4, c = 5, p, s;
p = (a + b + c) / 2;
s = sqrt(p * (p - a) * (p - b) * (p - c));
cout << "此三角形面积为" << s << endl;
};

1.上面这段代码的运行结果。

2.上述代码中a、b、c分别改为6、8、10时,运行结果是什么?

3.上述代码中a、b、c均为3时,运行结果是什么?

4.上述代码中a、b、c均为1时,运行结果是什么?

5.上面这段是否存在什么问题?

6.若将a、b、c值调整为由用户自由输入,需要对代码做怎样的修改才能保证可靠性?

前面几个算术题我就不算了。说说问题吧
1.所有变量应该是float或者double型,整型的话运算出来只能是整型,会造成数据误差。
2.因为是三角形,所以abc的取值要符合三角形规则,需要加上相应的逻辑,否则可能出现对负值进行平方根操作。