c语言做封装几个函数,实现两个数的加减乘除取余以及交换
时间: 2024-10-14 09:05:55 浏览: 48
在C语言中,我们可以创建一个结构体来封装两个数的操作,并提供相应的函数来实现加减乘除、取余和交换操作。这里是一个简单的例子:
```c
#include <stdio.h>
// 定义结构体存储两个整数
typedef struct {
int num1;
int num2;
} NumberPair;
// 函数声明
void add(NumberPair* pair);
void subtract(NumberPair* pair);
void multiply(NumberPair* pair);
void divide(NumberPair* pair, int divisor);
int modulus(NumberPair* pair);
void swap(NumberPair* pair);
// 函数实现 - 加法
void add(NumberPair* pair) {
pair->num1 += pair->num2;
}
// 减法
void subtract(NumberPair* pair) {
pair->num1 -= pair->num2;
}
// 乘法
void multiply(NumberPair* pair) {
pair->num1 *= pair->num2;
}
// 除法
void divide(NumberPair* pair, int divisor) {
if (divisor != 0)
pair->num1 /= divisor;
else
printf("Error: Division by zero is not allowed.\n");
}
// 取余
int modulus(NumberPair* pair) {
return pair->num1 % pair->num2;
}
// 交换两个数
void swap(NumberPair* pair) {
int temp = pair->num1;
pair->num1 = pair->num2;
pair->num2 = temp;
}
// 测试函数
int main() {
NumberPair numbers = {5, 3};
printf("Before operations:\nnum1: %d, num2: %d\n", numbers.num1, numbers.num2);
// 调用函数
add(&numbers);
subtract(&numbers);
multiply(&numbers);
divide(&numbers, 2); // 分母为2
printf("After operations (with division):\nnum1: %d, num2: %d\n", numbers.num1, numbers.num2);
// 取余
printf("Modulus: %d\n", modulus(&numbers));
// 交换
swap(&numbers);
printf("After swapping:\nnum1: %d, num2: %d\n", numbers.num1, numbers.num2);
return 0;
}
```
阅读全文