使用switch case语句编写的C程序,用于计算几何图形的面积

介绍

计算几何图形的面积是一道常见的计算题目。在本篇文章中,我们将通过使用C语言中的switch case语句编写一个程序来计算不同几何图形的面积。本程序中将会包括计算正方形、长方形、圆形以及三角形面积的不同算法。

代码实现

main函数

在这个程序中,我们需要先定义一个菜单来让用户选择要计算的几何图形类型。使用switch case语句根据用户的选择进行不同的计算,最后输出计算结果。

#include <stdio.h>

int main() {

int choice; // 所选几何图形的编号

float area; // 计算出的面积

// 输出菜单,获取用户输入

printf("请选择要计算的几何图形类型:\n");

printf("1. 正方形\n2. 长方形\n3. 圆形\n4. 三角形\n");

scanf("%d", &choice);

// 根据所选几何图形类型进行计算

switch (choice) {

case 1:

area = square(); // 算法 1:正方形

printf("正方形的面积为 %.2f\n", area);

break;

case 2:

area = rectangle(); // 算法 2:长方形

printf("长方形的面积为 %.2f\n", area);

break;

case 3:

area = circle(); // 算法 3:圆形

printf("圆形的面积为 %.2f\n", area);

break;

case 4:

area = triangle(); // 算法 4:三角形

printf("三角形的面积为 %.2f\n", area);

break;

default:

printf("无效的选择!\n");

break;

}

return 0;

}

算法 1:正方形

对于正方形,我们只需要知道其中一个边长,然后直接平方即可得到面积。

float square() {

float side; // 正方形的边长

// 获取用户输入

printf("请输入正方形的边长:");

scanf("%f", &side);

// 计算并返回面积

return side * side;

}

算法 2:长方形

对于长方形,我们需要知道其长度和宽度,然后将其相乘即可得到面积。

float rectangle() {

float length, width; // 长方形的长度和宽度

// 获取用户输入

printf("请输入长方形的长度和宽度,用空格分隔:");

scanf("%f %f", &length, &width);

// 计算并返回面积

return length * width;

}

算法 3:圆形

对于圆形,我们需要知道其半径,然后用半径的平方乘以π(即3.14159)来计算出面积。

float circle() {

float radius; // 圆形的半径

// 获取用户输入

printf("请输入圆形的半径:");

scanf("%f", &radius);

// 计算并返回面积

return radius * radius * 3.14159;

}

算法 4:三角形

对于三角形,我们需要知道其底边和高度,在将其乘以0.5来得到面积。

float triangle() {

float base, height; // 三角形的底边和高度

// 获取用户输入

printf("请输入三角形的底边和高度,用空格分隔:");

scanf("%f %f", &base, &height);

// 计算并返回面积

return base * height * 0.5;

}

运行结果

当我们将以上代码编译并运行时,会出现以下的运行结果:

请选择要计算的几何图形类型:

1. 正方形

2. 长方形

3. 圆形

4. 三角形

1

请输入正方形的边长:5

正方形的面积为 25.00

如果用户选择了正方形类型,然后输入其边长,我们将会计算出其面积并输出结果。

总结

通过本篇文章,我们对C语言中的switch case语句以及几何图形面积计算的算法有了更深入的了解。通过编写这个程序,我们可以更好地理解这些基础概念,并且开始更深入地学习如何运用它们来实现更复杂的计算和处理任务。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签