-2

私の関数は数値を取得し、入力を含む入力の前に数値の合計を返します。ただし、1から始まりnで終わる連続した整数の合計を(入力として)計算できるかどうか疑問に思っていました

#include<stdio.h>
int sum(int x){
    if(x>0)return x+sum(x-1);
    else return 0;
}
main(){
    int x;
    scanf("%d",&x);;
    printf("%d\n\n",sum(x));
}

質問に対する答えが見つかりましたが、stackoverflow.com では答えられません。というわけで、ここでこう答えます。

必要なのは、インクリメント用の別の引数と、入力された値を追跡するための別の引数だけです。

#include<stdio.h>
int sum(int x,int t){
    if(t<=x) return t+sum(x,t+1);
    else return 0;
}
main(){
    int x;
    printf("enter int: ");
    scanf("%d",&x);
    printf("%d\n",sum(x,0));
}
4

1 に答える 1