C语言_求两个数的平均值
程序员文章站
2024-02-03 16:50:04
...
不使用(a+b)/2这种方式,求两个数的平均值。
使用位运算符,加深对不同位运算符功能的理解。
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int average1(int m,int n)
{
return (m + n) >> 1;
}
int average2(int m, int n)
{
return (m & n) + ((m ^ n) >> 1);
}
int average3(int m,int n)
{
return m + ((n - m) >> 1);
}
int main()
{
int m = 0,n = 0;
printf("请输入两个数:");
scanf("%d %d", &m, &n);
printf("平均数为:%d\n", average1(m,n));
printf("平均数为:%d\n", average2(m,n));
printf("平均数为:%d\n", average3(m,n));
system("pause");
return 0;
}
上一篇: 神经网络的传播原理——看不懂你来打我
推荐阅读
-
C语言_求两个数的平均值
-
求若干个整数中正整数的个数、总和及平均值
-
C语言编程练习 5.按如下函数原型,采用梯形法编程实现(分成100个小梯形,再求这100个梯形面积的和),在积分区间[a,b]内计算函数
-
C语言学习之用牛顿迭代法求下面方程在1.5附近的根: 2x³-4x²+3x-6=0
-
汇编语言程序,求100个数中的最大数
-
二分法求x的平方根(C语言)
-
用c语言编写如下程序:二分法求方程f(x)=x^2-x-1=0在区间[1,2]的正根,精确到1e-3?
-
【C++】求10个数中的最大值和最小值
-
输入一个正整数(1<n<=10),再输入n个数,输出偶数位上数值的平均值(保留两位小数)
-
c语言 一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。