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

C言語についてですfor ifをつかい
1+2+3••••+nという計算式と
合計値を出力するプログラムは どのように
すればよいでしょうか
整数値nを入力です

A 回答 (5件)

#4です。


申し訳ない。
間違ったコードを貼ってしまいました。
下記が正しいコードです。

<ソースコード>
#include <stdio.h>

int main(void)
{
int n,i,sum=0;

printf("nを入力:");
scanf("%d",&n);

for(i=1;i<n;i++)
{
sum += i;
printf("%d+",i);
}
sum += n;
printf("%dの合計=%d\n",n,sum);
return 0;
}
<出力結果>
1+2+3+4+5+6+7+8+9+10の合計=55

とほほ……
    • good
    • 0

質問文を「途中の計算式を出力したい」と読み取りましたので、途中で計算式を表示するようにしてあります。


ただ、kmee様がおっしゃっている通り、こんなのはネットを検索すればいくらでも見つかります。
その機能をどのように実現するか(アルゴリズム)を考えることでプログラミングは上達しますので、自分で悩んで見るといいと思います。
……悩みに悩んでココに質問なさったのであればすみません。

<ソースコード>
#include <stdio.h>

int main(void)
{
int n,i,sum=0;

printf("nを入力:");
scanf("%d",&n);

for(i=1;i<n;i++)
{
sum += i;
printf("%d+",i);
}
printf("%dの合計=%d\n",n,sum);
return 0;
}
<実行結果>
nを入力:10
1+2+3+4+5+6+7+8+9+10の合計=45
    • good
    • 0

どこまでわかっていて、どこがわからないのですか?



まずは、やり方を日本語で書いてみましょう
(0) 準備
(1) nを入力
(2) 1からnまでを足した合計を求める
(3) 結果を出力する

このうち、わからないのは何番ですか?


(2) 1からnまでを足した合計を求める
を分解すると
(2-0) 集計用変数を0にする
(2-1) 集計用変数に1加える
(2-2) 集計用変数に2加える
...
(2-n) 集計用変数にn加える
これって、規則性あるし、繰り返しになってますよね?
こういうとには何を使うと便利かわかるでしょう。


if は、「○○だったら□□、そうでなかったら△△」という条件分岐をするものです。
(0) 〜(3)に、そんな条件分岐は入っていません。
「繰り返し」は「終了条件で分岐してループを抜ける」ということをしないと「無限ループ」になりますが、その条件分岐はifを使わずに書けます。
そうすると、何か別の条件分岐を追加する必要があります。
例えば、 n<1のときどうする?とか




「正解」が欲しいだけなら、ネットで探せば見つかります。
    • good
    • 0

以下のようになります。


-------------------------------------
#include<stdio.h>

int main(void)
{
int n;
int gokei;
int i;
printf("nを入力:");
scanf("%d",&n);
gokei = 0;
for (i = 1; i <= n; i++){
gokei = gokei + i;
}
printf("1+2+...+nの合計=%d\n",gokei);
return 0;
}
------------------------------------------
以下、実行結果です。
nを入力:10
1+2+...+nの合計=55
    • good
    • 0

nが整数かどうかifで判定し、


for(int i=0;i<n+1;i++)
のループをprintfすればいいのではないでしょうか。
これで分からないなら、あなたには無理です。
    • good
    • 2

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