Craze.0&1

软件是计算机的灵魂-而我是灵魂的设计师

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  7 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

常用链接

留言簿(1)

搜索

  •  

最新随笔

最新评论

阅读排行榜

评论排行榜


 地址:http://www.cppblog.com/0and1/     |   E-Mail:firenight@163.com     |   QQ:79688942   |




FizzBuzz问题是一种英国学校学生经常玩的游戏。举个“FizzBuzz 问题”的例子:写一个程序打印1到100这些数字。但是遇到数字为3的倍数的时候,打印“Fizz”替代数字,5的倍数用“Buzz”代替,既是3的倍数又是5的倍数打印“FizzBuzz”。

首先想到用3个IF的方法:
#include <iostream>
void main()
{
    using namespace std;
    char 
*arr[]={"FizzBuzz","Fizz","Buzz"};
    
for (int i=1;i<=100;i++)
    {
        
int m=(i%15==0?0:(i%3==0?1:(i%5==0?2:-1)));
        
if (m!=-1)
            cout 
<< arr[m] << endl;
        
else
            cout 
<< i << endl;
    }
}

再网上看到一个妙用地址的:
#include "stdio.h"
void main()
{
    
int i=0;
    
while(i<100)i++,(i%3==0||i%5==0)?printf("fizz%s\n"+(i%3==0?0:4),"buzz"+(i%5==0?0:4)):printf("%d\n",i);
}

posted on 2007-04-15 02:18 Craze.0&1 阅读(343) 评论(0)  编辑 收藏 引用 所属分类: 学习笔记

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理