ここから本文です

while文を使って、1+2+3+4+…と数字を加算していき、加算結果が300を超えたら処理を...

アバター

ID非公開さん

2015/6/3020:57:51

while文を使って、1+2+3+4+…と数字を加算していき、加算結果が300を超えたら処理を終了するプログラムを教えてください。

《実行結果》
1+2+3+4+5+6+7+8+9+10+11+12+13……+23+24+25=325

閲覧数:
163
回答数:
4

違反報告

ベストアンサーに選ばれた回答

gg_********さん

2015/7/100:52:18

#include <stdio.h>

int main()
{
int i = 0, sum = 0;
while (1)
{
sum += ++i;
printf("%d+", i);
if (sum + i + 1 > 300)
{
break;
}
}
printf("%d=%d\n", ++i, sum + i);
return 0;
}

変な書き方をしてみました。
(短めですが、無駄な計算をしている部分があります。

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

lov********さん

2015/6/3023:04:25

はいお望みの答えです
文句ないだろ?


#include<stdio.h>

int add( ) {
int sum = 0, cnt = 1;
while( sum <= 300 ) {
sum += cnt;
cnt++;
}
return sum;
}

int main(void) {
int ans = 0;
ans = add( );
printf("%dは300を超えました。\n", ans);
}

bur********さん

2015/6/3022:56:38

#include<stdio.h>

int_main_()_{
____int_ans=0;
____int_i=1;

____while(ans <= 300){
________ans_+=_i;

________if (ans <= 300)_{
___________printf("%d + ", i);
________}_else_{
___________printf("%d = ", i);
________}

________i++;
____}

printf("%d", ans);

return 0;
}

結構適当に書いたのでもっときれいにできると思います。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

hds********さん

2015/6/3021:40:11

言語がわからないのでC#で回答します。

public class Test {
public static void Main() {
int result = 0;
int add = 1;
while(true) {
result += add;

if(result > 300) {
System.Console.Write(add + "=" + result);
return;
}

System.Console.Write(add + "+");

add++;
}
}
}

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる