C言語で指定された範囲内の奇数を再帰的に出力する方法


#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関数を呼び出して結果を表示します。

この方法を使用すると、指定された範囲内の奇数を再帰的に出力することができます。さまざまな範囲や場面でこのコードを使用してみてください。