合計 昨日 今日

二つの整数を入力してその間の全整数の和を出力

[このトピックは解決済みです]

フォーラムルール
フォーラムルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Name: 下忍乗り
[URL]
Date: 2017年4月19日(水) 15:45
No: 1
(OFFLINE)

 二つの整数を入力してその間の全整数の和を出力

  1. #include <stdio.h>

    int main(void)
    {
    int no, no1, no2;
    int max, min;
    int sum = 0;

    do{
    printf("正の整数を二つ入力してください。\n");

    printf("整数1:");scanf("%d",&no1);

    printf("整数2:");scanf("%d",&no2);
    }while(no1 < 0 || no2 < 0);

    if (no1 > no2) {
    max = no1;
    min = no2;
    } else {
    max = no2;
    min = no1;
    }

    no = min;
    do {
    sum = sum + no;
    no = no + 1;
    } while (no <= max);

    printf("%d以上%d以下の全整数の和は%dです。\n", min, max, sum);

    return 0;
    }

今現在このようなプログラムを作ったのですがうまく起動できません。
プログラム自体はあってますか??

Name: box
[URL]
ハッカー(264,158 ポイント)
Date: 2017年4月19日(水) 19:29
No: 2
(OFFLINE)

 Re: 二つの整数を入力してその間の全整数の和を出力

うまく起動できない、というのは、どういった状況を指していますか?
コンパイルはできるけど、実行結果が思ったとおりにならないということですか?
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

Name: 下忍のり
[URL]
Date: 2017年4月19日(水) 23:06
No: 3
(OFFLINE)

 Re: 二つの整数を入力してその間の全整数の和を出力

コンパイルはできますが、二つの整数を入力した後動作が止まってしまいます。

do while文が間違っていて無限ループしているかとも思ったのですが、
間違っている箇所が見つからない状態です。

Name: box
[URL]
ハッカー(264,158 ポイント)
Date: 2017年4月19日(水) 23:19
No: 4
(OFFLINE)

 Re: 二つの整数を入力してその間の全整数の和を出力

こちらの環境で下のようなコードを実行したら、ちゃんと答えが出ます。

コード[C]: 全て選択
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
 
int main(void)
{
    int no, no1, no2;
    int max, min;
    int sum = 0;
 
    do {
        printf("正の整数を二つ入力してください。\n");
        printf("整数1:"); scanf("%d", &no1);
        printf("整数2:"); scanf("%d", &no2);
    } while(no1 < 0 || no2 < 0);
 
    if (no1 > no2) {
        max = no1;
        min = no2;
    }
    else {
        max = no2;
        min = no1;
    }
 
    no = min;
    do {
        sum = sum + no;
        no = no + 1;
    } while (no <= max);
 
    printf("%d以上%d以下の全整数の和は%dです。\n", min, max, sum);
    return 0;
}
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

Name: かずま
[URL]
Date: 2017年4月19日(水) 23:35
No: 5
(OFFLINE)

 Re: 二つの整数を入力してその間の全整数の和を出力

下忍のり さんが書きました:コンパイルはできますが、二つの整数を入力した後動作が止まってしまいます。

do while文が間違っていて無限ループしているかとも思ったのですが、
間違っている箇所が見つからない状態です。

コード[C]: 全て選択
1
2
3
    printf("整数1:");scanf("%d",&no1);
 
    printf("整数2:");scanf("%d ",&no2);

このように 2番目の scanf の書式の最後に空白が入っていませんか?

Name: 下忍乗り
[URL]
Date: 2017年4月19日(水) 23:39
No: 6
(OFFLINE)

 Re: 二つの整数を入力してその間の全整数の和を出力

[解決!]

皆さんありがとうございました!


無事実行できました。

Name: かずま
[URL]
Date: 2017年4月19日(水) 23:49
No: 7
(OFFLINE)

 Re: 二つの整数を入力してその間の全整数の和を出力

下忍乗り さんが書きました:無事実行できました。

何が悪かったのかを書いてください。


Return to C言語何でも質問掲示板

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[14人]