3. (程序题) 【描述】 编写函数重置两个变量的值,该函数的原型为: void reset(int *a,int *b); 函数内部将两个值重置为两个变量原值的平均数(出现小数则四舍五入)。 【输入】 两个待重置的值 【输出】 重置后的两个值 【输入示例】 7 14 【输出示例】 11 11C语言
时间: 2024-03-20 09:43:45 浏览: 84
以下是 C 语言的实现代码:
```c
#include <stdio.h>
#include <math.h>
void reset(int *a, int *b) {
int avg = (*a + *b) / 2;
*a = round((double)(*a + *b) / 2);
*b = avg;
}
int main() {
int a, b;
scanf("%d%d", &a, &b);
reset(&a, &b);
printf("%d %d", a, b);
return 0;
}
```
在 `reset()` 函数中,先计算出两个变量的平均数,然后将一个变量设为平均数的四舍五入值,另一个变量设为平均数的整数部分。在 `main()` 函数中读入两个变量,将它们的地址传入 `reset()` 函数中进行重置,最后输出重置后的两个变量。注意在进行四舍五入时需要将两数之和转换为 `double` 类型,否则会发生截断。
阅读全文