一維數組的逆序輸出(情況一:僅輸出時發生改變,數組元素位置不發生改變、情況二:將順序數組改爲逆序數組)

一、類型一:

思路:通過控制輸出時的數組下表來實現逆序輸出

//  Created by Neil Wesley on 16/5/25.
//  Copyright © 2016年 Neil Wesley. All rights reserved.
//

#include "stdio.h"
int main()
{
    int M=30,s[M],i,k=1;
     //向數組循環賦值
    for (i=0; i<M;k+=2,i++ )
    {
        s[i]=k;
    }
    //順序輸出數組元素
    printf("\nSequence Output:\n");
    for (i=0; i<M; i++) {
        printf("%4d",s[i]);
        if ((i+1)%10==0)
        {
            printf("\n");
        }
    }
    //逆序輸出數組元素
    printf("\nInvert Output:");
    for (i=M-1; i>=0; i--)
    {
        printf("%3d%c",s[i],(i%10==0?'\n':' '));
    }

}

二、類型二

思路:交換數組每個位置位置上的數據,實現本質上的逆序輸出,將數組由順序改爲逆序

//  Created by Neil Wesley on 16/5/25.
//  Copyright © 2016年 Neil Wesley. All rights reserved.
//

#include "stdio.h"
int main()
{
    int M=30,s[M],i,k;
    //向數組循環賦值
    for (i=0; i<M; i++)
    {
        s[i]=i;
    }
    //交換數組中元素的位置
    for (i=0; i<M/2;i++ )
    {
        k=s[i];
        s[i]=s[M-1-i];
        s[M-1-i]=k;
    }
    //輸出逆序元素
    for (i=0; i<M;i++)
    {
        printf("%3d",s[i]);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章