遞歸將整數n轉換爲字符串

如果是負數,要把它轉換爲正數,並輸出一個‘-’。covert函數只處理正數。

#include<stdio.h>
void main()
{
    void covert(int n);
    int number;
    printf("input an integer:");
    scanf("%d",&number);
    printf("output:");
    //將負數轉換爲正數,並添加'-'
    if(number<0)
    {
        putchar('-');
        number=-number;
    }
    convert(number);
    printf("\n");
}
//遞歸函數
void convert(int n)
{
    int i;
    if((i=n/10)!=0)
        convert(i);
    putchar(n%10+'0');
}

例如輸入 456,調用convert函數n=456, 第一次:i=45,調用convert函數,第二次:i=4,調用convert函樹,第三次:i=0,執行putchar,返回上一次調用convert處…..

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章