資源限制
時間限制:1.0s 內存限制:512.0MB
問題描述
編寫遞歸函數,將組成整數的所有數字逐個輸出,每個數字後面加上一個減號“-”,例如對於整數123,該函數將輸出1-2-3- 。編寫主函數測試該遞歸函數。
輸入格式
輸入一個整數n
輸出格式
如題目要求,把n的每個數字後面加一個減號”-“輸出
樣例輸入
一個滿足題目要求的輸入範例。
例:
123
樣例輸出
與上面的樣例輸入對應的輸出。
例:
1-2-3-
數據規模和約定
輸入n>0,必須使用遞歸調用來實現!
解題思路:
爲了遞歸首先要把數字的各個位拆分開來,這裏我用了一個while循環實現,每次都把最後一位放入數組中,並刪除最後一位,直到沒有位數(即爲小於1的小數),然後再進行遞歸調用,遞歸思路是直到數組的最後纔開始輸出(因爲存儲是反向存儲),代碼如下:
#include<bits/stdc++.h>
using namespace std;
int a[100];
void digui(int i,int length){
if(i != length){
digui(i + 1, length);
}
cout << a[i] << "-";
}
int main(){
int n;
int len = 0;
cin >> n;
while(n >= 1){
a[len ++] = n % 10;
n /= 10;
}
digui(0, len - 1);
return 0;
}