質問: c言語のプログラムで c言語で 2つの整数を読み込んで小さいほうの数以上で大きいほうの数以下の整数をすべて加えた値を表示するプログラム で最後の表示の仕方がわかりません。 実行結果は 整数1:37 整数2:28 28以上37以下の全整数は325です。と表示されるはずです。 この表示の3行目の28と37の表示がどうやればよいのかわかりません。 #include int main(void) { int a, b; int sum=0; printf("整数1:");scanf("%d",&a); printf("整数2:");scanf("%d",&b); if(a>b) do{ sum=sum+b; b=b+1; }while(b<=a); else do{ sum=sum+a; a=a+1; }while(a<=b); printf("%d以上%d以下の全整数の和は%dです。",a,b,sum); return(0); } 全整数の表示はできます。 do文の中でa=cとかにしてやってみましたが、うまくいきませんでした。 お願いします。
回答: printf("%d以上%d以下の全整数の和は%dです。",a,b,sum); のとき変数aとbは変化していますよね? 途中で、a=a+1 ; や b=b+1 とかやってますから。 ですから別の変数に記憶しておくか、加算するとき別の変数を使うかする必要があります。