【VC++】FizzBuzz問題(%縛り)を解いてみた

FizzBuzz問題の例はこんな感じ
 
1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。
 
%等の余剰計算を縛って書いてみた(時間図るの忘れたあああああwwww)
 
 
#include<stdio.h>
#include<stdilb.h>
void main()
{
 int ct,ct1,ct2;
 while(ct<100)
 {
  for(ct1=0;ct1<5;ct1++)
  {
   for(ct2=0;ct2<3;ct2++,ct++)
   {
    if(ct1==4&&ct2==2)
     printf("FizzBuzz");
    else if(ct2==2)
     printf("Fizz");
    else if(ct1==1&&ct2==1||ct1==3&&ct2==0)
     printf("Buzz");
    else
     printf("%d",ct);
    if(100<ct)
     exit(1);
   }
  }
 }
}
 
 
それでは、テストラン!
 
 
'stdilb.h': No such file or directory
綴り間違えた\(^0^)/
#include<stdilb.h>
↓(「l」と「i」を入れ替え)
#include<stdlib.h>
 
再びテストラン!ww
 
 
・・・こんどは「ct」を初期化していないのに
while(ct<100)
を使っちゃった、と。
 
int ct,ct1,ct2;
↓(ctに=0を追加)
int ct=0,ct1,ct2;
 
もう一度テストラン!(`・ω・´;)
 
 
ちょっと結果が見づらかったので「exit(1);」の上に「_getch();」を追加してみたw(ヘッダーファイル:conio.h)
そしてexit(1)をexit(0)に変更^^;
 
出力結果
01Fizz3BuzzFizz67FizzBuzz10Fizz1213FizzBuzz1516Fizz18BuzzFizz2122FizzBuzz25Fizz2
728FizzBuzz3031Fizz33BuzzFizz3637FizzBuzz40Fizz4243FizzBuzz4546Fizz48BuzzFizz515
2FizzBuzz55Fizz5758FizzBuzz6061Fizz63BuzzFizz6667FizzBuzz70Fizz7273FizzBuzz7576F
izz78BuzzFizz8182FizzBuzz85Fizz8788FizzBuzz9091Fizz93BuzzFizz9697FizzBuzz100Fizz
 
見ずれエエエエエええwww
カンマつけ忘れた(´・ω・`)
他にもいろいろおかしい(つД`)
 
「putchar(',');」をif文のあたりに追加
「printf("%d",ct);」→「printf("%d",ct+1);」
「for(ct2=0;ct2<3;ct2++,ct++)」の「ct++」を
          for文の最後(下から5行目)に移動(ここは修正する必要が無いことに後で気づくorz)
「if(100<ct)」→「if(99<=ct)」
「putchar(',');」の位置をfor文の最後に移動
 
そして最終的なコードはこうなったw
 
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
void main()
{
 int ct=0,ct1,ct2;
 while(ct<100)
 {
  for(ct1=0;ct1<5;ct1++)
  {
   for(ct2=0;ct2<3;ct2++)
   {
    if(ct1==4&&ct2==2)
     printf("FizzBuzz");
    else if(ct2==2)
     printf("Fizz");
    else if(ct1==1&&ct2==1||ct1==3&&ct2==0)
     printf("Buzz");
    else
     printf("%d",ct+1);
    if(99<=ct)
    {
     _getch();
     exit(0);
    }
    putchar(',');
    ct++;
   }
  }
 }
}
 
 
出力結果
 
1,2,Fizz,4,Buzz,Fizz,7,8,Fizz,Buzz,11,Fizz,13,14,FizzBuzz,16,17,Fizz,19,Buzz,Fiz
z,22,23,Fizz,Buzz,26,Fizz,28,29,FizzBuzz,31,32,Fizz,34,Buzz,Fizz,37,38,Fizz,Buzz
,41,Fizz,43,44,FizzBuzz,46,47,Fizz,49,Buzz,Fizz,52,53,Fizz,Buzz,56,Fizz,58,59,Fi
zzBuzz,61,62,Fizz,64,Buzz,Fizz,67,68,Fizz,Buzz,71,Fizz,73,74,FizzBuzz,76,77,Fizz
,79,Buzz,Fizz,82,83,Fizz,Buzz,86,Fizz,88,89,FizzBuzz,91,92,Fizz,94,Buzz,Fizz,97,
98,Fizz,Buzz
 
なんとかちゃんと行けた(?)けど、
修正点多すぎだろorz
俺はテストランしないとプログラムもまともに組めないと言うのかあああああ   とか言ってみる^p^

コメント

アベック

No title
プログラムは全然分かりませんね…まだ高校の授業でも習ってない。工業高校なんで多分こうゆう事をやるんだろうな。あと、遅くなりましたが東方人形劇の攻略ブログをはじめました。最初は多分分布とか載せる予定です。

シグナ

No title
もはや知らんがなwwwwそれと、@20で10000HITいくぞー

thfan

No title
>>アベックさん
もしプログラムやるようになったら環境があればなんか作って見て動かしてみるといいですよ
あと、ブログ見に行ってみますね
>>シグナさん
あ、本当だw
今日あたり10000行きそうw
非公開コメント

プロフィール

thfan

好きなキャラクターはフランドール・スカーレットです

フランちゃんについて妄想や空想、夢想などをしてみたり考察してみたりしてる人です