下のプログラムを実行すると何の出力も得られません。
条件式の間違いで無限ループが起きているのでしょうか?
どこが間違っているのか教えてください。
lang
1コード 2```#include<stdio.h> 3main(){ 4 int n ; 5 int k; 6 int l; 7 8 scanf("%d", &n ); 9 k = 1; 10 l = 1; 11 12 while( k <= n + 1 || l != n ){ /*kがn+1になるときまたはlの値がnと一致するときまで計算を繰り返す */ 13 l = k*(k+1)/2.0; 14 k = k + 1 ; 15 } 16 if( l == n ){/* 上で求めたlの値がnになっているなら三角数、そうでないなら三角数でないと表示する*/ 17 printf("%d is the %dth triangular number.", n ,k ); 18 } 19 else{ 20 printf("%d is NOT a triangular number", n ); 21 } 22}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/05/21 04:01