6-2 整数绝对值 分数 10 作者 李祥 单位 湖北经济学院 C语言函数库提供了整数绝对值函数 abs。作为练习,请大家自编整数绝对值函数,实现相同的功能。 函数原型 int IntAbs(int x); 说明:参数 x 为任意整数,函数值为 x 的绝对值。
时间: 2024-12-24 18:30:17 浏览: 9
在C语言中,当你需要计算一个整数的绝对值而标准库提供的abs()函数并不满足需求时,你可以选择自己编写一个IntAbs()函数来实现这个功能。函数原型`int IntAbs(int x)`表明它接收一个整型变量x,并返回它的绝对值。
例如,以下是一个简单的自定义整数绝对值函数的实现:
```c
#include <stdio.h>
// 自定义整数绝对值函数
int IntAbs(int x) {
// 判断输入的整数是否为负数
if (x < 0) {
return -x; // 如果是负数,取相反数即为其绝对值
} else {
return x; // 非负数则直接返回自身
}
}
int main() {
int num = -10;
printf("The absolute value of %d is %d\n", num, IntAbs(num));
return 0;
}
```
在这个例子中,如果`num`是负数,`IntAbs(num)`会返回它的负值;如果是正数或零,则保持不变。
相关问题
6-1 三角形面积(海伦公式) 分数 20 作者 李祥 单位 湖北经济学院 请编写函数,根据
6-1 题目中提到的是利用海伦公式计算三角形面积。海伦公式,也称为毕达哥拉斯半周长公式,是通过三角形三边长度a、b、c来求得面积S的一种方法。其公式为:
\[ S = \sqrt{p(p-a)(p-b)(p-c)} \]
其中 \( p = \frac{a+b+c}{2} \),即半周长。
下面是一个简单的Python函数,用于根据海伦公式计算三角形面积,假设输入的三条边长都是正实数:
```python
import math
def triangle_area(a, b, c):
# 计算半周长
p = (a + b + c) / 2
# 使用海伦公式计算面积
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
return area
# 示例
if __name__ == "__main__":
side1 = float(input("请输入三角形第一条边长:"))
side2 = float(input("请输入三角形第二条边长:"))
side3 = float(input("请输入三角形第三条边长:"))
area = triangle_area(side1, side2, side3)
print(f"三角形的面积为:{area}")
```
编写一个函数,接受字符串 ‘6-1-2 * 分数 10 作者李祥 单位湖北经济学院’ 作为输入,目标是返回该字符串中’*'左边的所有内容,包括空格和标点。这个函数应如何设计? 用c语言
你可以使用C语言编写一个简单的函数来处理这个问题。这里可以使用指针和循环来找到星号前的部分。下面是一个可能的函数设计:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
char* get_before_star(const char* input);
// 实现函数
char* get_before_star(const char* input) {
int len = strlen(input); // 获取字符串长度
for (int i = 0; i < len; i++) {
if (input[i] == '*') { // 找到星号位置
return (char*) &input[0]; // 返回直到星号的位置,即整个左侧部分的地址
}
}
return input; // 如果没有找到星号,直接返回原串
}
int main() {
const char* str = "6-1-2 * 分数 10 作者李祥 单位湖北经济学院";
char* result = get_before_star(str);
printf("'%s' 星号左边的内容: %s\n", str, result);
free(result); // 释放内存,因为只复制了数据,不是整个字符串
return 0;
}
```
在这个函数中,我们遍历输入字符串,当遇到'*'字符时,停止并返回从开始到那个位置的内存地址。如果没有找到'*',则返回整个输入。
阅读全文