1樓:義昀欣
//舉例說明該函式流程,假如輸入123,123/10後得12,餘數是3
//再次執行convert函式,12/10得1,餘數是2//再次執行convert函式,1/10得0,餘數是1//至此,遞迴結束,開始列印數字,首先列印最後一次遞迴的結果1//然後列印倒數第二次的結果2
//最後列印3,輸出123
void convert(int n)
main()
convert(number); //執行遞迴函式}
2樓:匿名使用者
你這程式有錯誤哦,輸出結果是原序輸出
以下是我稍微修改的程式,及相應的註釋
#include
void convert(int n)
main()
convert(number); //呼叫遞迴函式convert()}希望能幫到你,可以繼續**!
3樓:井鈺
寫了一下,看基本符合你要求了,不過還有些可以改的下面是程式**:
#include
int gnn(int e)
return last;
}void fun(long int n,int n)else }
void main()
printf("轉換後的輸出為: ");
printf("\"");
fun(n,n);
printf("\n");
//getch();}
4樓:成紅微生英飆
while的條件是不對的
n%10!=0
如果n=10
就退出了!
n的值也沒改變
所以是死迴圈。
而且即使改正之後輸出的結果也是與原數相反的
5樓:enjoy冰心玉壺
我把你的程式改了一下,現在可以得到正確的答案了。先把源**複製在下面吧。
#include
#include
#include
#include
int fun(int number,int digit,char *str);
int main()
else
printf("the result is %s\n",string);
return 0;
}int fun(int number,int digit,char *str)
return 0;
}也是用的遞迴的方法,可以自己跑一下程式。再說一下問題吧,感覺你不太熟悉strcat()這個函式,其中的引數都應是char型指標變數,還有一些小的問題,比如函式返回值什麼的。你可以再看看書或者查一下。
執行結果如下:
6樓:牧羊人
將一個整數,轉化為與它等價的字串型別的資料。怎麼說,就是一個int n,它表示的數為321,那對應著的字串表示就是s[0]=3的acs碼,s[1]=2的asc碼, s[2]=1的asc碼。
7樓:匿名使用者
舉個例子,比如輸入的是123,呼叫convert函式,convert(123)->convert(12)->convert(1)->convert(0),返回至上層,即convert(1)函式裡繼續執行,s[0]=1%10+'0'='1';deep++;,再次返回上層函式裡執行,s[1]=12%10+'0'='2';deep++;繼續返回上層函式裡執行,s[2]=123%10+'0'='3';deep++;執行2完畢,返回至main函式。s[4]=0;puts(s)輸出字串123.
8樓:樂跑小子
下面是程式**:
#include
int gnn(int e)
return last;
}void fun(long int n,int n)else }
void main()
printf("轉換後的輸出為: ");
printf("\"");
fun(n,n);
printf("\n");
//getch();}
9樓:
#include
int deep=0;
char s[100]=;
void convert(int n)
int main()
convert(n);
s[deep]=0;
puts(s);
return 0;}
10樓:匿名使用者
**不明白啊?
if(n==0) 如果輸入0,則不用呼叫函式,直接輸出convert(n); 對於非0的進行遞迴轉換s[deep]=0; 置串結束符\0
void convert(int n)
c語言程式設計:用遞迴法將一個整數n轉換成字串。
11樓:用著追她
1、新建一個工程和.c檔案 ,輸入標頭檔案和主函式。
2、宣告被呼叫的函式,定義變數型別。
3、輸入整數。
4、用一個if語句去判斷整數是否為負數,若為負數則用putchar函式輸出一個負號。
5、呼叫一個函式。
6、定義函式的返回型別和形參型別。
7、通過if語句判斷該數是否僅剩一位數,若不是則執行else語句。
8、編譯執行。
12樓:匿名使用者
while的條件是不對的
n%10!=0 如果n=10 就退出了!
n的值也沒改變 所以是死迴圈。
而且即使改正之後輸出的結果也是與原數相反的
13樓:匿名使用者
#include
void main()
每輸入一個資料,敲一個空格,或者敲一個回車!這是個十位數的的轉換!
你的是不是沒輸入語句啊!沒有n值,所以沒資料吧
14樓:匿名使用者
你不是用遞迴做的,如果只是簡單的輸出,可以這樣做:
void tran(int a)
void main()
c語言程式設計用遞迴法將一個整數n轉換成字串。例如,輸入486,應輸出字串"486"。n的位數不確定,可以是任
15樓:郝在益
使用函式就可以了,
加入有一個數234,如:
int i = 234;
char a[20];
itoa(i,a,10);
這樣就將234轉化為字串到陣列a[20]裡了。
16樓:匿名使用者
#include
#include
void sc(int n,char* zf)int main(void)
17樓:
#include
int main(void)
s[i]=0;
for(j=0,i--;j<=i;i--,j++)puts(s);
return 0;}
編寫程式用遞迴法實現將一個整數n轉化成字串
18樓:匿名使用者
#ifndef myitoa_h
#define myitoa_h
bool myitoa(long n,char chars,int arrlen) //引數: 數字n,儲存轉換後數字的陣列,陣列長度。
int temp;
if(n<10 && n >0)
else if(n!=0)
count--;
return true;
}#endif
19樓:匿名使用者
#include
#include
int myfun( int n, char*p )*(p+i) = n%10;
i++;
return i;
}main()
【c語言求改錯】編制程式用遞迴法將一個整數n轉換成字串。例如,輸入483,應輸出字串「483」
20樓:匿名使用者
void f(x)
21樓:
#include
void invert(int a)
void main()
用遞迴法將一個整數轉換成字串
22樓:匿名使用者
你這程式有錯誤哦,輸出結果是原序輸出
以下是我稍微修改的程式,及相應的註釋
#include
void convert(int n)
main()
convert(number); //呼叫遞迴函式convert()}希望能幫到你,可以繼續**!
23樓:義昀欣
//舉例說明該函式流程,假如輸入123,123/10後得12,餘數是3
//再次執行convert函式,12/10得1,餘數是2//再次執行convert函式,1/10得0,餘數是1//至此,遞迴結束,開始列印數字,首先列印最後一次遞迴的結果1//然後列印倒數第二次的結果2
//最後列印3,輸出123
void convert(int n)
main()
convert(number); //執行遞迴函式}
用遞迴法將一個整數n轉換成字串
24樓:井鈺
寫了一下,看基本符合你要求了,不過還有些可以改的下面是程式**:
#include
int gnn(int e)
return last;
}void fun(long int n,int n)else }
void main()
printf("轉換後的輸出為: ");
printf("\"");
fun(n,n);
printf("\n");
//getch();}
c語言用遞迴法實現正整數的逆序輸出,誰會啊
include void shiftnumber int x int main c語言 將遞迴的方法將一個正整數逆序輸出 可以參考下面的 include include void print order number unsigned number int main int argc,char ar...
c語言用遞迴求函式的第n項fn
include int sumn int n,int flag int main else return 0 count作為一個遞迴的測試值,傳入呼叫函式,最終輸出的值和內n是一樣的容 用c語言程式設計 用遞迴的方法求 f n 1 1 2 2 3 3 n n 輸入數字n,輸出結果 f n 20 in...
c語言編寫程式將十進位制整數n轉換成二進位制數
include int transfer int x return y void main 擴充套件資料 c語言書寫規則 1.一個說明或一個語句佔一行。2.用 括起來的部分,通常表示了程式的某一層次結構。一般與該結構語句的第一個字母對齊,並單獨佔一行。3.低一層次的語句或說明可比高一層次的語句或說明...