🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
C

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

while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

Q&A

解決済

1回答

584閲覧

while文が思うように働かない

退会済みユーザー

退会済みユーザー

総合スコア0

C

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

while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

0グッド

0クリップ

投稿2019/09/24 14:42

編集2019/09/24 14:51

//4の結果も2450になってほしいのですが、35415になってしまいます。
どうすればいいのでしょうか?

c

1#include <stdio.h> 2 3int main() 4{ 5 6 7 8 //1 9 int b=1,total1; 10 11 while(b<99){ 12 b++; 13 if(b%2==0) 14 total1+=b; 15 } 16 printf("total1: %d\n",total1); 17 18 //2 19 20 int a=1,k,total2; 21 22 for(a=1;a<50;a++){ 23 k=a*2; 24 total2+=k; 25 } 26 printf("total2: %d\n",total2); 27 28 //3 29 int i=1,total3; 30 31 do 32 { 33 34 i++; 35 if (i%2==1) continue; 36 else total3+=i; 37 } 38 while(i<99); 39 printf("total3: %d\n",total3); 40 41 42 43 44 //4 45 int c=1,d,total4; 46 while(1){ 47 48 c++; 49 d=c*2; 50 total4+=d; 51 52 if (c>50) break; 53 54 } 55 printf("total4: %d\n",total4); 56 57} 58 59 60

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

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

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

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

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

LouiS0616

2019/09/24 14:46

C言語とC#は全く異なる言語です。タグを付け直して下さい。
guest

回答1

0

ベストアンサー

total1~total4を適切に初期化して下さい。
(1)から(3)が一見正しく2450を計算しているのは偶然です。


なお、(4)については他にも論理バグがあります。

  • 変数cをインクリメントするタイミングが他のコードと異なります。
  • 条件 c < 50 の否定は c >= 50 です。c > 50 ではなく。

投稿2019/09/24 14:45

編集2019/09/24 14:49
LouiS0616

総合スコア35668

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問