【C語言程序設計】C語言整數逆序輸出程序!

將一個從鍵盤輸入的整數存放到一個數組中,經過程序的運行按照數組中的逆序輸出該整數,利用遞歸的方法解決問題。程序員

 

算法思想

設計函數實現數據的逆序存放,設定形參數組接收實參數組的地址,來存儲數據的每一位。算法

函數體採用遞歸的方式解決問題,所以考慮遞歸進行的條件。編程

例如,把數據 n 存放到數組 s 中,若 n 是一位數,則存放 n 到數組中;若 n 不是一位數,則存放 n/10 到數組中。數組

問題解決的難點在於找到數據的存放地址,經過不斷地取餘和整除 10 來獲得數據的每一位。函數

爲了實現數據的逆序存放,每一次整除 10 的時候,同時把存放數據的數組地址後移,這樣獲得的第一位數存放在數組的最後一位……經過依次前移,即遞歸的迴歸,實現整個數據的存放。經過函數 convert() 實現字符串中的數字的逆序轉換。學習

 

程序代碼

#include <stdio.h>

int convert(char s[],int n)

{

    int i;

    if((i=n/10)!=0)

        convert(s+1,i);

    *s=n%10+'0';

    return 0;

}

int main()

{

    int num;

    char str[10]=" ";

    printf("input integer data:");

    scanf("%d",&num);

    convert(str,num);

    printf("output string:\n");

    puts(str);

    return 0;

}

 

調試執行結果

當輸入整數爲 123456789 時,其程序運行結果以下所示:spa

input integer data:123456789設計

output string:指針

987654321調試

當輸入整數爲 654321789 時,逆序轉換輸出結果以下所示:

input integer data:654321789

output string:

987123456

 

總結

數組名錶明數組中第一個元素的地址,數組的地址就是數組的指針,每一個元素的地址就是每一個元素的指針。

數組元素在內存中是連續存放的,相對於普通變量,用指針指向數據元素操做更簡便。

一維數組的數組名錶明瞭數組的首地址,即數組的指針,但數組名是常量指針,其值是不可改變的,能夠定義一個指針變量指向數組名。當定義了指針後,對於數組元素的引用既能夠使用下標,又能夠使用指針。


 

無論你是轉行也好,初學也罷,進階也可,若是你想學編程,進階程序員~

【值得關注】個人 編程學習交流俱樂部!【點擊進入】

全棧程序員正在等你加入~

相關文章
相關標籤/搜索