前提・実現したいこと
C言語の繰り返し処理を学んでいる途中です。
1 自分のプログラムを見やすくしたいです。
2 変数の初期値を知りたいです。
C言語の入門書で
「二つの整数値を読み込んで、小さい方の数以上で大きい方の数以下の整数全てを加えた値を表示するプログラムを作成せよ」
という問題があります。
発生している問題
1 とりあえず答え通りの結果が出たのですが、他にもっとプログラムを見やすくorシンプルにできないでしょうか?
2 最初の変数の宣言のところで int n1, n2, dif, sum;としたところ、出力の合計が-430548067となりました。sum = 0;を追加したところ改善されましたが。
てっきり変数には最初から0が入っているものと思っていました。
変数の初期値は何が入っているのでしょうか?
該当のソースコード
#include <stdio.h> int main(void){ int n1, n2, dif; int sum = 0; printf("二つの整数を入力してください。\n"); printf("整数1:"); scanf("%d", &n1); printf("整数2:"); scanf("%d", &n2); if(n1 > n2){ dif = n1 - n2; do{ sum = sum + n2 + dif; dif = dif - 1; }while(dif >= 0); printf("%d以上%d以下の全整数の和は%dです。", n2, n1, sum); }else if(n2 > n1){ dif = n2 - n1; do{ sum = sum + n1 + dif; dif = dif - 1; }while(dif >= 0); printf("%d以上%d以下の全整数の和は%dです。", n1, n2, sum); }else{ sum = n1; printf("%d以上%d以下の全整数の和は%dです。", n1, n2, sum); } return 0; }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/23 11:27
2018/11/23 11:36
2018/11/25 06:47