C++ 三角形周长和面积计算代码优化及问题解析
#include<bits/stdc++.h> #include<stdio.h> using namespace std;
int main(){ double a, b, c; cin >> a >> b >> c; double p = (a + b + c) / 2; double area = sqrt(p * (p - a) * (p - b) * (p - c)); printf("circumference=%.2lf ", a + b + c); printf("area=%.2lf", area);
return 0;
}
在代码中有几个问题:
-
在计算变量p的值时,需要将其放在接收输入的语句之后,因为p的值依赖于a、b、c的值。
-
在计算面积area时,需要先定义area变量,否则会报错。
-
在使用printf函数输出浮点数时,需要使用"%lf"作为格式化字符串,而不是"%.2lf"。
-
在使用cout输出字符串时,需要使用双引号而不是单引号。
以下是修正后的代码:
#include<bits/stdc++.h>
#include<stdio.h>
using namespace std;
int main(){
double a, b, c;
cin >> a >> b >> c;
double p = (a + b + c) / 2;
double area = sqrt(p * (p - a) * (p - b) * (p - c));
printf("circumference=%.2lf ", a + b + c);
printf("area=%.2lf", area);
return 0;
}
原文地址: https://www.cveoy.top/t/topic/crsW 著作权归作者所有。请勿转载和采集!