#include <stdio.h> int main() { float a,b,h,s; printf("请输入长,宽,高:"); scanf("%f%f%f",&a,&b,&h); s=0.5*(a+b)*h; printf("a=%5.2f b=%5.2f h=%5.2f",a,b,h); printf("s=%7.4f",s); }改进代码
时间: 2024-01-24 08:02:58 浏览: 76
这段程序已经能够实现计算三角形面积的功能,但是可以进行一些改进,比如加上错误处理和更友好的用户交互。以下是改进后的代码示例:
```c++
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
float a, b, h, s;
cout << "请输入三角形的底、高和宽,以空格分隔:" << endl;
string input;
getline(cin, input);
stringstream ss(input);
if (!(ss >> a >> b >> h)) {
cout << "输入格式错误,请输入三个浮点数,以空格分隔" << endl;
return 1;
}
s = 0.5 * (a + b) * h;
printf("三角形的底:%.2f,高:%.2f,宽:%.2f,面积:%.4f\n", a, b, h, s);
return 0;
}
```
该程序使用了 C++ 的输入输出库,可以更方便地进行用户交互。程序先输出提示信息,让用户输入三角形的底、高和宽。然后使用 getline 函数读取用户输入的一行字符串,再使用 stringstream 对象从字符串中提取三个浮点数,如果输入格式不正确,则输出错误信息并退出程序。如果输入格式正确,则计算三角形的面积,并使用 printf 函数输出结果。最后返回 0 表示程序正常结束。
阅读全文