#include <stdio.h>
void printOddNumbers(int start, int end) {
if (start > end) {
return;
}
if (start % 2 != 0) {
printf("%d ", start);
}
printOddNumbers(start + 1, end);
}
int main() {
int start, end;
printf("範囲の開始値を入力してください: ");
scanf("%d", &start);
printf("範囲の終了値を入力してください: ");
scanf("%d", &end);
printf("指定された範囲内の奇数: ");
printOddNumbers(start, end);
return 0;
}
このコードでは、printOddNumbers
という再帰関数を定義しています。関数は開始値と終了値を引数として受け取り、開始値から終了値までの範囲内の奇数を出力します。
再帰関数内では、現在の値が終了値を超えた場合は関数を終了します。それ以外の場合、現在の値が奇数であれば出力します。その後、再帰的に次の値を処理するために、開始値に1を加えて再帰呼び出しを行います。
main
関数では、ユーザーに開始値と終了値を入力してもらい、printOddNumbers
関数を呼び出して結果を表示します。
この方法を使用すると、指定された範囲内の奇数を再帰的に出力することができます。さまざまな範囲や場面でこのコードを使用してみてください。