欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言用指針函數(shù)尋找數(shù)組中的最大值與次大值

 更新時(shí)間:2024年11月23日 09:35:09   作者:zhuzhuxia???  
這篇文章主要給大家介紹了關(guān)于C語(yǔ)言用指針函數(shù)尋找數(shù)組中的最大值與次大值的相關(guān)資料,該代碼通過(guò)定義一個(gè)名為L(zhǎng)argestTow的函數(shù)來(lái)找出數(shù)組中的最大值和次大值,并將結(jié)果分別存入指針?biāo)赶虻膬?nèi)存單元中,需要的朋友可以參考下

代碼示例: 

#include <stdio.h>

// 函數(shù)用于找出數(shù)組中的最大值和次大值
void LargestTow(int a[], int n, int *pfirst, int *psecond) {
    *pfirst = a[0];
    *psecond = a[1];
    if (*psecond > *pfirst) {
        // 如果初始的次大值大于最大值,交換它們
        int temp = *pfirst;
        *pfirst = *psecond;
        *psecond = temp;
    }

    for (int i = 2; i < n; i++) {
        if (a[i] > *pfirst) {
            // 如果當(dāng)前元素大于最大值,更新次大值為原來(lái)的最大值,最大值更新為當(dāng)前元素
            *psecond = *pfirst;
            *pfirst = a[i];
        } else if (a[i] > *psecond) {
            // 如果當(dāng)前元素大于次大值但小于最大值,更新次大值為當(dāng)前元素
            *psecond = a[i];
        }
    }
}

int main() {
    int n;
    scanf("%d", &n);
    int a[n];
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }

    int max, second_max;
    LargestTow(a, n, &max, &second_max);
    printf("%d %d\n", max, second_max);

    return 0;
}

以下是按照先遍歷數(shù)組找出最大值,然后再次遍歷數(shù)組找出最小值的思路,使用 C 語(yǔ)言編寫(xiě)的代碼來(lái)解決上述問(wèn)題(找出n個(gè)整數(shù)中的最大值和次大值):

#include <stdio.h>

// 函數(shù)用于找出數(shù)組中的最大值和次大值
void LargestTow(int a[], int n, int *pfirst, int *psecond) {
    int max_value = a[0];
    int max_index = 0;
    // 第一次遍歷數(shù)組,找出最大值及其索引
    for (int i = 1; i < n; i++) {
        if (a[i] > max_value) {
            max_value = a[i];
            max_index = i;
        }
    }
    *pfirst = max_value;

    // 將最大值所在位置的元素設(shè)為一個(gè)很小的值,避免它干擾找次大值
    a[max_index] = -99999999;

    int second_max_value = a[0];
    // 第二次遍歷數(shù)組,找出次大值
    for (int i = 1; i < n; i++) {
        if (a[i] > second_max_value) {
            second_max_value = a[i];
        }
    }
    *psecond = second_max_value;
}

int main() {
    int n;
    scanf("%d", &n);
    int a[n];
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }

    int max, second_max;
    LargestTow(a, n, &max, &second_max);
    printf("%d %d\n", max, second_max);

    return 0;
}

題目描述

求n個(gè)整數(shù)中的最大值和次大值。要求定義一個(gè)函數(shù)LargestTow(),求數(shù)組a的最大值和次大值兩個(gè)值,分別存入形參指針pfirst和psecond所指存儲(chǔ)單元,函數(shù)原型如下:

void LargestTow(int a[],int n,int *pfirst,int *psecond)
{
/*數(shù)組a有n個(gè)元素,將數(shù)組中的最大值存入形參指針pfirst所指內(nèi)存單元,將數(shù)組中第二大的值存入形參指針psecond所指內(nèi)存單元。 */
}

輸入描述

輸入有兩行,輸入第一行是一個(gè)整數(shù)n,1<n<=1000;第二行是n個(gè)整數(shù),由空格隔開(kāi)。

輸出描述

輸入兩個(gè)整數(shù),表示數(shù)組中最大的兩個(gè)值。輸出占一行。

樣例輸入

5
6 3 4 9 8

樣例輸出

9 8

總結(jié) 

到此這篇關(guān)于C語(yǔ)言用指針函數(shù)尋找數(shù)組中的最大值與次大值的文章就介紹到這了,更多相關(guān)C語(yǔ)言尋找數(shù)組最大值與次大值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入java線程池的使用詳解

    深入java線程池的使用詳解

    本篇文章是對(duì)java線程池的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++回溯算法中的全排列問(wèn)題分析探討

    C++回溯算法中的全排列問(wèn)題分析探討

    遞歸中遇到一個(gè)問(wèn)題全排列的問(wèn)題,我看見(jiàn)回溯特別神奇,特此記錄一下。對(duì)比一下深度優(yōu)先搜索與廣度優(yōu)先搜索,個(gè)人感覺(jué)這里的回溯像是一種遞歸樹(shù)中的深度優(yōu)先搜索的算法,他不斷構(gòu)造往下延伸的深度,使其達(dá)到完全編列
    2023-03-03
  • C語(yǔ)言靜態(tài)版通訊錄的設(shè)計(jì)與實(shí)現(xiàn)

    C語(yǔ)言靜態(tài)版通訊錄的設(shè)計(jì)與實(shí)現(xiàn)

    靜態(tài)版通訊錄是一種簡(jiǎn)單的通訊錄實(shí)現(xiàn)方式,通過(guò)定義固定的數(shù)組大小來(lái)存儲(chǔ)聯(lián)系人信息。該方法不支持動(dòng)態(tài)增刪聯(lián)系人,但具有實(shí)現(xiàn)簡(jiǎn)單、易于理解的優(yōu)點(diǎn)。在程序設(shè)計(jì)中,需注意數(shù)組邊界溢出等問(wèn)題
    2023-04-04
  • 用C語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)掃雷小游戲

    用C語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)掃雷小游戲

    這篇文章主要為大家詳細(xì)介紹了用C語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C++深入淺出講解內(nèi)存四區(qū)與new關(guān)鍵字的使用

    C++深入淺出講解內(nèi)存四區(qū)與new關(guān)鍵字的使用

    內(nèi)存四區(qū),一個(gè)非常重要的知識(shí)點(diǎn),搞懂了內(nèi)存四區(qū),才能更快的去搞懂指針。我們寫(xiě)的C語(yǔ)言代碼,不夸張的說(shuō),都是直接或者間接的在操作內(nèi)存。C語(yǔ)言之所以能夠開(kāi)發(fā)操作系統(tǒng),就是指針的存在,而指針說(shuō)白了就是地址,內(nèi)存地址,指針變量說(shuō)白了就是存儲(chǔ)地址的變量
    2022-05-05
  • C/C++后端學(xué)習(xí)與練習(xí)深入

    C/C++后端學(xué)習(xí)與練習(xí)深入

    這篇文章主要介紹了C/C++對(duì)于后端的學(xué)習(xí)與練習(xí),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Qt與QWebEngineView交互完整參考示例代碼

    Qt與QWebEngineView交互完整參考示例代碼

    QWebEngineView是Qt框架中的一個(gè)組件,它是基于Chromium內(nèi)核的Web瀏覽器引擎,用于在Qt應(yīng)用程序中嵌入網(wǎng)頁(yè)內(nèi)容和實(shí)現(xiàn)各種Web應(yīng)用功能,這篇文章主要給大家介紹了關(guān)于Qt與QWebEngineView交互完整參考的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • swift Character類(lèi)型詳解及實(shí)例

    swift Character類(lèi)型詳解及實(shí)例

    這篇文章主要介紹了 swift Character類(lèi)型詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • C語(yǔ)言實(shí)現(xiàn)順序表的基本操作指南(注釋很詳細(xì))

    C語(yǔ)言實(shí)現(xiàn)順序表的基本操作指南(注釋很詳細(xì))

    線性表是最簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu),而順序表又是最簡(jiǎn)單的線性表,其基本思想是用一段地址連續(xù)的儲(chǔ)存單元依次存儲(chǔ)線性表的數(shù)據(jù)元素,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言實(shí)現(xiàn)順序表的基本操作,需要的朋友可以參考下
    2021-10-10
  • C語(yǔ)言實(shí)現(xiàn)自動(dòng)給QQ好友發(fā)窗口抖動(dòng)

    C語(yǔ)言實(shí)現(xiàn)自動(dòng)給QQ好友發(fā)窗口抖動(dòng)

    這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)自動(dòng)給QQ好友發(fā)窗口抖動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11

最新評(píng)論