溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

數(shù)組的2道簡單問題

發(fā)布時間:2020-07-28 17:28:21 來源:網(wǎng)絡(luò) 閱讀:311 作者:匯天下豪杰 欄目:編程語言

1、數(shù)組轉(zhuǎn)置問題

  思想:關(guān)鍵就是找2個指針變量,和第三個交換空間變量,一個指針指向頭,一個指針指向尾,都向中間靠攏,進(jìn)行數(shù)組的轉(zhuǎn)置,數(shù)字的交換;

(1)、代碼如下:

#include<stdio.h>

void arrayRev(int *a, int count);
void printT(int *a, int count);

void printT(int *a, int count){
    int i;

    for(i = 0; i < count; i++){
        printf("%d ", a[i]);
    }   
}
void arrayRev(int *a, int count){
    int low = 0;
    int high = count-1;
    int tmp;

    while(low < high){
        tmp = a[low];
        a[low] = a[high];
        a[high] = tmp;
        low++;
        high--;
    }   
}
int main(void){
    int a[] = {1, 4, 2, 6, 8, 9, 11, 43, 12, 55,};
    int len;

    len = sizeof(a)/sizeof(a[0]);

    printf("轉(zhuǎn)置前:\n");
    printT(a, len);
    arrayRev(a, len);
    printf("\n轉(zhuǎn)置后:\n");
    printT(a, len);
    printf("\n");


    return 0;
}

(2)、運(yùn)行結(jié)果:

數(shù)組的2道簡單問題


2、尋找一個數(shù)組中的第二大數(shù)字

  無序數(shù)組中的一堆數(shù)字,尋找第二個大的數(shù)字?

  思想:一次for循環(huán)就可以搞定了,開始給出一個默認(rèn)最大和第二大的數(shù)字,然后對其后的每個數(shù)字通過if比較就可以了;

(1)、代碼如下:

#include<stdio.h>

int secondMax(int *a, int len);
void printT(int *a, int count);

void printT(int *a, int count){
    int i;

    for(i = 0; i < count; i++){
        printf("%d ", a[i]);
    }
    printf("\n");
}
int secondMax(int *a, int len){
    int max = a[0] > a[1] ? a[0] : a[1];
    int second = a[0] > a[1] ? a[1] : a[0];
    int i;

    for(i = 2; i < len; i++){
        if(a[i] > max){
            second = max;
            max = a[i];
        }else if(a[i] > second){
            second = a[i];
        }else{
            ;   
        }   
    }
    return second;

}

int main(void){
    int a[] = {44, 4, 66, 6, 8, 33, 22, 2 ,55 ,1};
    int len = sizeof(a)/sizeof(a[0]);
    int num;

    num = secondMax(a, len);
    printT(a, len);
    printf("%d\n", num);

    return 0;
}

(2)、運(yùn)行結(jié)果:

數(shù)組的2道簡單問題


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI