目录
一 代码实现
#include <stdio.h>
// 定义一个函数来计算正方形的周长
double calculate_square_perimeter(double side_length) {
// 正方形的周长等于边长的四倍
return 4 * side_length;
}
int main() {
double side;
printf("请输入正方形的边长:");
scanf("%lf", &side);
// 调用函数计算周长
double perimeter = calculate_square_perimeter(side);
printf("该正方形的周长为 %.2f\n", perimeter);
return 0;
}
在上述C语言程序中,首先定义了一个名为calculate_square_perimeter
的函数,它接收一个参数side_length
表示正方形的边长,并返回其周长。然后,在main
函数中,我们提示用户输入正方形的边长,并使用scanf
函数读取这个值。接着调用之前定义的函数来计算周长,并将结果打印出来,保留两位小数。
二 时空复杂度
A.时间复杂度(Time Complexity):
此程序的主要操作包括读取用户输入、调用函数计算周长以及输出结果。这些操作的时间开销均为常数时间,即无论边长 side_length
的大小如何,所需执行的基本操作次数是固定的。因此,该程序的时间复杂度为 ,表示其运行时间与输入规模无关。
B.空间复杂度(Space Complexity):
在程序中,我们只定义了一个 double 类型变量 side
用于存储用户输入的边长,以及另一个 double 类型变量 perimeter
存储计算出的周长。这两个变量的空间占用都是固定的,并不会随着输入边长的变化而变化。除此之外,栈上可能还会有一小部分用于存放函数调用时的信息,但同样与输入规模无关。因此,这段代码的空间复杂度也为 ,表示所需额外空间是固定的,与输入规模无关。