我正在練習遞歸,並且我對該問題的解決方案似乎不起作用。 我想寫一個遞歸的代碼,將確定一個數字的數字是否升序或不。這裏是我的代碼:確定數字的數字是否遞增的遞歸函數
#include <stdio.h>
int isAscending(int num);
int main(){
int result;
result = isAscending(123);//Should print "The number is in ascending order!"
if (result == 0) {
printf("The number is in ascending order!\n");
}
else {
printf("The number is not in ascending order!\n");
}
}
int isAscending(int num) {
int new = num/10;
int result = 0;
if ((num % 10) == 0) {
return 0;
}
else if ((num % 10) > (new % 10)) {
result += isAscending(num/10);
return result;
}
else {
return 1;
}
}
所以。這是什麼意思「似乎不起作用」?你爲什麼終止如果一個數字是'0'? –
通常遞歸函數自我調用。我在你的'isAscending(...)' – cleblanc
中看不到這些。另外,你爲什麼要添加結果? –