dポイントプレゼントキャンペーン実施中!

C言語
5) 正の整数 n を入力(引数)とし, 1 以上 n 以下の整数の和 (1+2+…+n) を 出力する(戻り値として返す)関数 int sum( int n ) を作成せよ.

さらに,main 関数において「1以上1以下の整数の和」「1以上2以下の整数の和」… 「1以上10以下の整数の和」を出力するプログラムを作成せよ. ただし、 for ループの中で引数を i として関数 sum を呼び出すものとする. 以下のような出力が得られることを確認せよ(sum 関数の戻り値を直接 printf 関数の実引数として使用せよ).

ここで、main より前に関数 sum のプロトタイプ宣言をし, main より後に関数 sum のプログラムを書く形式であることに 注意せよ.

この問題の模範を教えて下さい。よろしくお願いします。

A 回答 (2件)

プログラムは自分で作って何回も失敗して


動かない理由を自分で理解していかないと
覚えられませんよ。

考えて実験して動かなない
なぜ動くのかわからない、わからないながらもいろいろ変えて
理解していく。
動いてもなぜか理解できないことも多くあります。
なぜなのか良く考える。
こんなことを繰り返し、繰り返し、繰り返し、繰り返し、繰り返し、繰り返していって覚えるものです。
    • good
    • 0

以下の模範でどうでしょうか。



#include <stdio.h>

int sum(int n);

int main(void) {
for (int i = 1; i <= 10; i++)
printf("1以上%d以下の整数の和 %d\n", i, sum(i));
return 0;
}

int sum(int n) {
return n > 1 ? n + sum(n - 1) : n;
}
    • good
    • 3

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!