C語言實現四捨五入演算法
四捨五入:
如果精確到小數點後面的第n位,則需要對n+1位進行運算。
將小數乘以10的n+1次方後加5,然後除以10強制轉換為長整型;再將該數除以10的n次方並轉換為浮點型。
float fun(float m)
{
int temp;
temp = (int) (m*1000 + 5) / 10;
float n = (float) temp / 100.0;
return n;
}
相關推薦
C語言實現四捨五入演算法
四捨五入: 如果精確到小數點後面的第n位,則需要對n+1位進行運算。 將小數乘以10的n+1次方後加5,然後除以10強制轉換為長整型;再將該數除以10的n次方並轉換為浮點型。 float fun(float m) { int temp; temp = (int) (m*1000
C語言實現排序演算法---希爾排序
今天又重新研究了一遍諸多排序演算法,現在簡單分享一下里面的希爾排序(Shell Sort)的心得。 希爾排序(Shell Sort)是插入排序的一種。也稱縮小增量排序,是直接插入排序演算法的一種
九之再續:教你一步一步用c語言實現sift演算法、下
教你一步一步用c語言實現sift演算法、下作者:July、二零一一年三月十二日出處:http://blog.csdn.net/v_JULY_v。參考:Rob Hess維護的sift 庫環境:windows xp+vc6.0條件:c語
【人工智慧】利用C語言實現KNN演算法進行手寫數字識別
KNN演算法稱為鄰近演算法,或者說K最近鄰(kNN,k-NearestNeighbor)分類演算法。所謂K最近鄰,就是k個最近的鄰居的意思,說的是每個樣本都可以用它最接近的k個鄰居來代表。kNN演算法的核心思想是如果一個樣本在特徵空間中的k個最相鄰的樣本中的大多數屬於某一個類
C語言實現四捨五入
C語言中實現四捨五入: (int)(a+0.5)即可。 很巧妙的用了取整規則。 也不用匯入math.h 同樣注意負數的情況。 把 + 換成 - 即可。 float f = …..; int i = (int)(f + 0.5); i就是f四捨五
C語言實現CRC32演算法
static const unsigned int crc32tab[] = { 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L, 0x706af48fL, 0xe963a535L, 0x9
HOG特徵提取程式碼(opencv處理基本資料,c語言實現基本演算法)
#include<cv.h> #include<highgui.h> #include<math.h> #include<opencv.hpp> using namespace cv; using namespace std;
C語言實現折半插入演算法
1 #include <stdio.h> 2 int BInsertSort(int array[],int left,int right){ //接收主函式呼叫語句中的實參傳到這裡的形參裡 3 int low,high,mid; 4 int temp; 5
(排序演算法)linux c語言實現選擇排序演算法(氣泡排序的略微改進版)
快速排序演算法和氣泡排序演算法是差不多的,都是要兩層迴圈,外迴圈是要比較的個數,其實就是元素的個數,內迴圈就是外層那個標記和其他的比較大小, 氣泡排序是相鄰的兩個,兩兩比較,最後交換出一個最大或者最小值, 快速排序是在氣泡排序的基礎上,找出那個最小的或者最大的,但是不是直接交換,
(排序演算法)linux c語言實現快速排序(氣泡排序的改進版)
快速排序演算法是對氣泡排序演算法的一種改進,氣泡排序是對單個元素的升降,快速排序是對所有元素的升降,不過這個升降是取了某一個標準的前提下,在本文程式碼中,就以a[i],其實就是以最左邊的元素為參考,比較交換之後,將這個參考元素放到分界的地方,即i的位置。 程式碼如下,裡面有比較詳細的
(排序演算法)linux c語言實現二分插入排序演算法(簡化版本的插入排序演算法)
二分插入演算法是在已經排序好的序列裡插入一個元素,是穩定的演算法,關鍵詞是折中。 比如說我要在12345678910裡插入一個3,那麼我先看看中間的數比3大,還是比3小,要是比3大,我就去後一半,如果是比3小,我就去前一半,現在進入某個一半後,再做如此操作,最後將其他的元素依次往後挪
單鏈表的C語言實現及插入刪除演算法
什麼是單鏈表? 由於順序表在插入和刪除是需要做大量的元素移動工作,而且需要連續的物理空間,因此其缺點是十分明顯的,為了解決這一問題,不需要預先分配連續的記憶體地址空間、插入刪除元素不需要做大量移動工作的連結串列出現了。但解決問題的同時也擁有自己的缺點,即不能隨機存取。 在連結串列中,每個
字串匹配的RabinKarp演算法的c語言實現
</pre><pre name="code" class="cpp">#include<string.h> int check( char *s1,char *s2,int n ); int main() { char s1[10000],s2[1000000]
c語言實現常用排序演算法
#include <stdio.h> #include <stdlib.h> #define arrLen(arr) sizeof(arr)/sizeof(arr[0]) void print(int arr[], int len) { int i = 0; fo
用C語言實現最小二乘法演算法
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
SHA-1演算法C語言實現
> 程式碼轉載自:https://blog.csdn.net/testcs_dn/article/details/25771377?locationNum=13&fps=1 > 感謝博主分享 #include<stdio.h> void creat_w(uns
C語言實現八大排序演算法詳解及其效能之間的
概述 排序是資料結構中的重要一節,也是演算法的重要組成部分。主要分為內部排序以及外部排序,今天我們講內部排序,也就是八大排序。 插入排序 直接插入排序 演算法思想 演算
[GIS演算法] 求單調鏈 - C語言實現
單調鏈:一個點序列在某個直線上投影如果是有序的,則認為此點序相對與該直線是一個單調鏈 【問題】找到任意點序列相對於Y軸的所有單調鏈 #include<stdio.h> typedef struct _POINT{ double x; double y; }
[GIS演算法] DEM相關處理 - 視窗分析(以平均值為例)| 裁剪 - C語言實現
#include<stdio.h> #include<stdlib.h> typedef struct{ double x0,y0; //左下角點的座標值 int dx,dy; //柵格單元大小 int ycount,xcount; //行列號 doub
[GIS演算法] 多邊形是否在圓內 - C語言實現
/* @Time:20181112 @Title:判斷多邊形是否在圓內 @Desc:圓是一個凸集,判斷多邊形的每一個頂點是否在圓內即可 */ #include<stdio.h> #include<stdlib.h> #define EXP 1e-8 //