求兩個數的平均值
由於當兩個數較大時,(a+b)/2這種方式可能會溢位,因此不採用此方法求兩個數的平均值。
程式碼:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> //不使用(a + b) / 2,求兩個數的平均值。 int main(){ int a, b; printf("請輸入兩個數字:\n"); scanf("%d %d", &a, &b); //求平均值,即將a與b不同的部分除以二,加到較小數的部分 if (a < b){ printf("平均值為:%d\n", a + ((b - a) >> 1)); } else{ printf("平均值為:%d\n", b + ((a - b) >> 1)); } system("pause"); return 0; }
執行結果:
相關推薦
Java求兩個數平均值
int param 練習 深入 發現 通用 個數 範圍 相加 如何正確的求2個數的平均值。在練習算法二分查找的時候發現的,以前沒有註意到的bug 備註:數據以int類型為例 一、以前的通用寫法 1 /** 2 * 求a+b平均值 3 * @pa
如何不使用(a+b)/2這種方式,求兩個數的平均值?
第一種: 一個數右移一位等於一個數除以2 (a+b)>>1 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <windows.h> int main() { int a
求兩個數的平均值
由於當兩個數較大時,(a+b)/2這種方式可能會溢位,因此不採用此方法求兩個數的平均值。 程式碼: #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> //不使用(
c語言實現不使用(a + b) / 2這種方式,求兩個數的平均值
//不使用(a + b) / 2這種方式,求兩個數的平均值 解題思路: 1> 先判斷是奇數還是偶數; 2> 將a,b之和右移一位; 3
求兩個數的平均值3種方法
方法1:(a+b)/2,但是會存在溢位現象。 方法2:float c = a+(b-a)/2.0,不用建立第三個變數。 方法2:float c = a&b+((a^b)>>1),
不使用(a+b)/2這種方式,求兩個數的平均值。
不使用(a+b)/2這種方式,求兩個數的平均值。 思路: 第一種:移位; (a+b)>>1 第二種 : a+((b-a)>>1) -->a+(b-a)/2 ----(a+b)/2 b+((a+b)>
求兩個數的平均值三種方法
【一】基本方法 #include<stdio.h> #pragma warning(disable:4996) int main() { int x = 7, y = 9,z=0;
C語言編程 求兩個數的平均值方法(三種方法)
輸入 均值 二進制 介紹 運算 use pause can include 第一種方法是最常見的average=(a + b) / 2這種方式,求兩個數的平均值 第二種方法是當 a<b 時averag=a+(b-a)/2 這裏著重介紹的是第三種方法 average=(
C++求兩個數的最大值
eof sizeof ios int sig turn c++ a + b -a //不使用if,:?等推斷語句。求兩個數字中最大的那個數字。 #include<iostream> using namespace std; int main(
求兩個數之間的隨機正整數
長度 -1 重復 pre script floor return turn random 求兩個數之間的隨機正整 數。並添到新數組,數組長度由自己指定。並且數組中不能有重復的值 function getRandomInt (min, max) { return Mat
1.交換兩值內容 2.不創建臨時變量交換兩只內容 3.求十個數中的最大值 4.講三個數由大到小輸出 5.求兩個數最大公約數
www. 最大公約數 十個 following .com blank 臨時變量 lan follow 露x都對貝姨芽沽1才39賢http://www.facebolw.com/space/2104128 ZP鋪巢嗣3瀉HX7Dhttp://www.facebolw.com
求兩個數的最大公約數
pri div temp 輾轉相除法 公約數 歐幾裏德算法 最大 ebo != #-*-coding:utf-8-*- ‘‘‘ 求兩個數的最大公約數 算法參考:https://zhidao.baidu.com/question/36550887.html by:rebor
java求兩個數百分比,精確到指定位數
sta number ring light tin blog div clas imu // 獲取百分比,不帶小數點 private String getPercentage(String num, String total){ NumberFor
不允許用(a+b)/2這種方式求兩個數的均值;如下程序在Linux和32位集成開發環境中運行
left 定義 inf log post efi mage 技術 def #define MAX(a,b) ((a)>(b)?(a):(b)) #include<stdio.h> int main() { int a = 10; int
求兩個數的最大最大公約數和最小公倍數
兩個 rem pac [] while ext bre list AS package java; import java.util.ArrayList; import java.util.List; import java.util.Scanner; pu
leetcode-350-Intersection of Two Arrays II(求兩個數組的交集)
CA 更新 lse write limited elements 表示 app 順序 題目描述: Given two arrays, write a function to compute their intersection. Example:Given nums1 =
求兩個數的最大公約數和最小公倍數
esp long cout gcd urn clas 代碼 () else 求最大公約數利用輾轉相除法: long long gcd(long long a,long long b) { if(b==0) return a; else
求兩個數的最大公約數,輾轉相除法與更相減損法(遞歸叠代)
叠代 div 余數 公約數 穩定 log test 算法 復雜度 問題:給出兩個數a和b,求出他們的最大公約數(greatest common divisor)。 解法一:輾轉相除法,又叫歐幾裏得算法。兩個正整數a和b(a>b),他們的最大公約數等於a除以b的余數和b
求兩個數的最小公倍數
個數 actor arr == int ++ str div osi #include <iostream> #include <vector> #include<algorithm> using namespace std; /*
求10個數平均值(陣列)
#include <iostream> using namespace std; int main() { float average(float array[]); float a[10],m; cout<<"please enter 10 numbers:"<