【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 時,其程序運行結果如下所示:

input integer data:123456789

output string:

987654321

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

input integer data:654321789

output string:

987123456

 

總結

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

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

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


 

不管你是轉行也好,初學也罷,進階也可,如果你想學編程,進階程序員~

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

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


 


免責聲明!

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



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