c語言題目:使用遞迴法將整數轉換成字串。
1樓:網友
可以這樣用ascii碼來轉換。
ascii碼從48~58分別是0,1,2...9int a=3;
char b;
b=char(a+48);
然後b就是字元'3'了。
#include
char mychar[100];/定義乙個無限大的字元陣列來存放所生成的字元 不過最好使用c的動態記憶體分配。
int i=0;
char* function(int a)if (a<10) {
mychar[i++]char(48+a);
return mychar;
function(a/10);
mychar[i++]char(48+a%10);/轉化為字串使用ascii碼來轉換。
return mychar;
void main()
char*a;
int num=0;
scanf("%d",&num);
a=function(num);
printf("轉化為字串後:%s",a);
2樓:旋天渣觀
#include
f(int n)
if (n/10==0) return ;/最高位返回。
else f(n/10);/去掉個位,進入下級遞迴。
printf("%d",n%10)//列印個位。
main()
int n;
scanf("%d",&n);
f(n);
3樓:網友
#include
char a[100];
int i=0;
f(int n)
if(n/10)
a[i++]n%10+'0';/把數字轉成字元。
n=n/10;
f(n);else
a[i++]n;
return;
main()
int n;
scanf("%d",&n);
f(n);a[i]='0';
printf("%s",a);
沒有除錯,演算法就是這樣的。
c語言程式設計:用遞迴法將乙個整數n轉換成字串。
4樓:網友
while的條件是不對的。
n%10!=0 如果n=10 就退出了!
n的值也沒改變 所以是死迴圈。
而且即使改正之後輸出的結果也是與原數相反的。
5樓:網友
#include
void main()
每輸入乙個資料,敲乙個空格,或者敲乙個回車!這是個十位數的的轉換!
你的是不是沒輸入語句啊!沒有n值,所以沒資料吧。
6樓:網友
你不是用遞迴做的,如果只是簡單的輸出,可以這樣做:
void tran(int a)
void main()
用c語言遞迴法將乙個整數化為字串
7樓:一路清晨
int a=1234;
int a_len=3;//a轉化成字串長度減1int aptr=0;
int he=0;
int i=0;
char chara[5]=;
void int_to_char()
a=a-he;//每次a減去a最高位的數值如:1234 減去1000 再遞迴 234 減去200
a_len--;
int_to_ptr();
8樓:網友
只告訴你思路,自己寫**。
為簡單,弄個足足夠大的字元陣列 因為整數最大是9還還是10個數了,忘了,你可以申請陣列長度11或者更大都行。 申請兩個。乙個存倒序,乙個存正序。
在while迴圈中,首先對整數除以10求餘數,c語言是%,這樣最後乙個數字就出來了,+『0』 或者|0x30,得到相應數字的ascii碼,其實就已經把這個數字轉成字元了,存到陣列裡。
然對整數反覆除以10, c語言是(/),取整,方法很簡單,直接把/後的結果=乙個整形變數,直接就是取整了,否則呼叫取整函式也行,那樣麻煩。這樣,最後一位數字被砍掉,因為第2部已經處理過它了。
反覆上面步驟,迴圈,直到最後乙個數字,(判斷條件為%10的餘數為0), 說明所有數字處理完了,迴圈終止,在這中間過程最後有個計數器,計下你共存了多少個數,做為第5步的長度。
由於這時候得到的陣列是倒的,也就是從最後乙個數字開始儲存的,要把它倒過來,存到另外一陣列裡。這部用乙個for迴圈就搞定。
不好意思,我的答案是非遞迴的。
遞迴更簡單,#include
void convert(int n)
如果要把結果存到陣列裡,自己調整一下吧。
簡單的c語言遞迴問題
9樓:
先儲存下 你沒看家 前面有個* 麼,重新編譯下,
c語言程式設計用遞迴法將整數n轉換成字串
1 新建一個工程和.c檔案 輸入標頭檔案和主函式。2 宣告被呼叫的函式,定義變數型別。3 輸入整數。4 用一個if語句去判斷整數是否為負數,若為負數則用putchar函式輸出一個負號。5 呼叫一個函式。6 定義函式的返回型別和形參型別。7 通過if語句判斷該數是否僅剩一位數,若不是則執行else語句...
請問C語言中,用遞迴將整數轉換成字串時,為什麼每次都要
舉個例子 5 0 5 你要知道5作為字元輸出時看不到的,因為它不是字元 5 有嗎?是最後加一個 0?或者每次 0 因為 0 為字元,加過之後就把結果也變成字元了。c語言程式設計 用遞迴法將一個整數n轉換成字串。1 新建一個工程和.c檔案 輸入標頭檔案和主函式。2 宣告被呼叫的函式,定義變數型別。3 ...
用遞迴法寫出123100的程式c語言
include int sum int n int main include int sum int n return 0 int main int fun int s else int main c語言中 用遞迴怎麼求1 2 3 4 100 是遞迴,沒有遞推一說,只有遞迴和迴圈兩種,或者直接計算,...