C语言水题:计算圆台水位
C语言水题:计算圆台水位
本题要求计算圆台形水缸的水位高度。给定水缸的底部半径、顶部半径、高度和水体积,你需要编写C语言程序输出水位高度。
输入格式:
首先输入一个T ≤ 20,表示测试数量。每行输入四个整数,分别为r,R,H,v,代表水缸的底部半径,顶部半径,高度,以及水的体积。1 ≤ r, R, H ≤ 100; 0 ≤ V ≤ 1000,000,000. r ≤ R. 不会有空的测试行。
输出格式:
对于每一行测试数据,输出水的高度(保留六位小数)。
示例:
输入样例:
1
100 100 100 3141562
输出样例:
99.999024
C语言代码:
#include <stdio.h>
double calculateHeight(int r, int R, int H, int v) {
double height;
double volume;
volume = v / (3.1415926 * (R * R + R * r + r * r) / 3); // 计算体积
if (volume >= H) {
height = H; // 如果体积大于等于整个圆台的体积,则水满,高度为H
} else {
height = volume / (3.1415926 * r * r); // 否则,计算水的高度
}
return height;
}
int main() {
int T;
scanf("%d", &T);
for (int i = 0; i < T; i++) {
int r, R, H, v;
scanf("%d %d %d %d", &r, &R, &H, &v);
double height = calculateHeight(r, R, H, v);
printf("%.6f\n", height);
}
return 0;
}
代码解释:
- 首先,定义一个函数
calculateHeight,用于计算水的高度。函数的参数为四个整数r、R、H、v,分别表示水缸的底部半径、顶部半径、高和水的体积。 - 在函数中,定义两个变量
height和volume。 - 根据圆台的体积公式,计算整个圆台的体积,并将结果存储在
volume中。 - 如果
volume大于等于整个圆台的体积,则表示水满,将水的高度设置为H。 - 否则,根据圆柱体的体积公式,计算水的高度,并将结果存储在
height中。 - 返回水的高度。
- 在
main函数中,首先读取输入的测试数量T。 - 使用一个外层循环,重复处理T组测试数据。
- 在每一组测试数据中,使用
scanf函数读取水缸的底部半径、顶部半径、高和水的体积。 - 调用
calculateHeight函数计算水的高度,并输出结果。 - 注意:在示例代码中,我们假设输入的数据满足题目所给的约束条件。您可以根据实际情况进行调整。
原文地址: http://www.cveoy.top/t/topic/dnVh 著作权归作者所有。请勿转载和采集!