故事:
Reginald Braithwaite认为,很多人和他一样遇到了这样的问题:”当一个人遇到200个申请编程工作的人中有199个完全不能写代码的时候,你就会和他一样感到困惑。
我重申一下:他们什么代码都写不出来。”
刚才所提到的人就是Imran,他直接拒绝了很多不能写出简单程序的程序员:
“在一些公平的考验之后,我发现那些因为代码而抓狂的人不是为了庞大的项目,而是在细小的地方就缠不休。所以我开始研究这些问题,收集这些编程人员的特点和归结成一类问题,取名为“FizzBuzz 问题”。 FizzBuzz问题是一种英国学校学生经常玩的游戏:
问题:
从1数到100,如果遇见了3的倍数要说Fizz,5的倍数到说Buzz,如果即是3的倍数又是5的倍数要说FizzBuzz。
解决方案:
1、应用语法:if...else...
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
void FizzBuzz1() { for (int i =1; i<=100; i++) { if ( i % 15 == 0) { printf("FizzBuzz\n"); } else if ( i % 5 == 0) { printf("Buzz\n"); } else if( i % 3 == 0) { printf("Fizz "); } else { printf("%d ", i); } } }
2、应用语法: i > j ? i : j
void FizzBuzz() { int idx = 0; while(idx < 100) { idx/5%3 == 0 ? printf("%d %d Fizz %d Buzz\n", 1+idx, 2+idx, 4+idx) : (idx/5%3 == 1) ? printf("Fizz %d %d Fizz Buzz\n", 2+idx, 3+idx) : printf("%d Fizz %d %d FizzBuzz\n", 1+idx, 3+idx, 4+idx); idx += 5; } }