㈠ C語言程序設計中如何比較三個數的大小
思路:比較三個數的大小可以先求出最大值和最小值,這樣中間數就是三個數的和減去最大數和最小數。
參考代碼:
#include<stdio.h>
intmain()
{
inta,b,c,max,min;
scanf("%d%d%d",&a,&b,&c);
max=(a>b?a:b)>c?(a>b?a:b):c;
min=(a<b?a:b)<c?(a<b?a:b):c;
printf("三個數按從小到大順序為:%d%d%d ",min,a+b+c-min-max,max);
return0;
}
/*
輸出:
816
三個數按從小到大順序為:168
*/
㈡ 設計演算法找出三個數中的最大值
有a,b,c三個數,比較它們的大小
方法一,按順序兩兩比較,取較大的
if (a > b) {
max = a;
} else {
max = b;
}
if (max < c) {
max = c;
}
方法二,假設第一個是最大的,與後面兩個數進行比較,將較大的值賦給max
int max = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}
1、什麼是演算法
演算法(algorithm):就是定義良好的計算過程,他取一個或一組的值為輸入,並產生出一個或一組值作為輸出。簡單來說演算法就是一系列的計算步驟,用來將輸入數據轉化成輸出結果。
mark:我們可以把所有的演算法想像為一本「菜譜」,特定的演算法比如菜譜中的的一道「老醋花生米」的製作流程,只要按照菜譜的要求製作老醋花生米,那麼誰都可以做出一道好吃的老醋花生米。so,這個做菜的步驟就可以理解為:「解決問題的步驟」
2、演算法的意義
假設計算機無限快,並且計算機存儲容器是免費的,我們還需要各種亂七八糟的演算法嗎?如果計算機無限快,那麼對於某一個問題來說,任何一個都可以解決他的正確方法都可以的!
當然,計算機可以做到很快,但是不能做到無限快,存儲也可以很便宜但是不能做到免費。
那麼問題就來了效率:解決同一個問題的各種不同演算法的效率常常相差非常大,這種效率上的差距的影響往往比硬體和軟體方面的差距還要大。
3、如何選擇演算法
第一首先要保證演算法的正確性
一個演算法對其每一個輸入的實例,都能輸出正確的結果並停止,則稱它是正確的,我們說一個正確的演算法解決了給定的計算問題。不正確的演算法對於某些輸入來說,可能根本不會停止,或者停止時給出的不是預期的結果。然而,與人們對不正確演算法的看法想反,如果這些演算法的錯誤率可以得到控制的話,它們有時候也是有用的。但是一般而言,我們還是僅關注正確的演算法!
第二分析演算法的時間復雜度
演算法的時間復雜度反映了程序執行時間隨輸入規模增長而增長的量級,在很大程度上能很好反映出演算法的好壞。