質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

1回答

1013閲覧

C言語プログラムが思うように動きません

退会済みユーザー

退会済みユーザー

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2015/05/21 03:32

下のプログラムを実行すると何の出力も得られません。
条件式の間違いで無限ループが起きているのでしょうか?
どこが間違っているのか教えてください。

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}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは。
とりあえずWhileの条件ですが、「AまたはB」の否定なので「AでもBでもない」が正しいのでは。
つまり以下のような。

lang

1while (k <= n + 1 && l != n){

投稿2015/05/21 03:51

Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/05/21 04:01

解決しました。 ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問