用C語言實現:求十個整數中最大值。


先審題,乍一看這道題十分簡單。

我們只需要將題目中所給出的10個數字一一比較,並將比較出的較大的數字存入臨時變量並輸出這個臨時變量即可。

那么我們先設出一個數組arr[10],用來儲存題目中要求的十個整數。

那么這里我們給出一個簡單的1~10的數組(打亂大小順序)來進行程序測試。

數組為:2, 5, 3, 4, 1, 6, 10, 8, 9, 7

代碼如下:

#include<stdio.h>
int main()
{
    int a[] = { 2, 5, 3, 4, 1, 6, 10, 8, 9, 7 }, i, max = a[0];
    for (i = 0; i < 10; i++)
    {
        if (max < a[i])
            max = a[i];
    }
    printf("max num is %d\n", max);
    system("pause");
    return 0;
}

當然我們並不是只有這一種方法進行大小比較。
在之前的數據結構及算法的學習中,我們還了解過冒泡排序這種算法。

它一樣也可以完成我們本次的題目要求。

這里我們先簡單的介紹一下冒泡排序的思想:

1、比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。

2、對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數。

3、針對所有的元素重復以上的步驟,除了最后一個。

4、持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。

了解了冒泡排序后,代碼就變得比較簡單了。

這里我們直接給出利用冒泡排序算法寫出的程序,代碼如下:

#include<stdio.h>
int main()
{
    int arr[] = { 2, 5, 3, 4, 1, 6, 10, 8, 9, 7 };
    int i,j,t;
    for (i = 0; i < 9; i++)
    {
        for (j = 0; j<9 - i; j++)
        {
            if (arr[j]>arr[j + 1])
            {
                t = arr[j + 1];
                arr[j + 1] = arr[j];
                arr[j] = t;
            }
        }
    }
    printf("max num is %d\n", arr[9]);
    system("pause");
    return 0;
}

最后附上程序執行的結果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM