援引http://news.csdn.net/n/20070305/101739.html的文章,举个“FizzBuzz”问题的例子:
写一个程序打印1到100这些数字。但是遇到数字为3的倍数的时候,打印“Fizz”替代数字,5的倍数用“Buzz”代替,既是3的倍数又是5的倍数打印“FizzBuzz”。
#include <stdio.h> #include <stdlib.h> int main() { int i; int Step3 = 1, Step5 =1;/*步长计数*/ int FizzStat = 0, BuzzStat = 0, FizzBuzzStat = 0; for(i=1; i<=100; i++) { if( (3==Step3) && (5==Step5) ) { printf("%d: FizzBuzz\n", i); Step3 = 1; Step5 = 1; FizzStat++; BuzzStat++; FizzBuzzStat++; } else if( 3==Step3 ) { printf("%d: Fizz\n", i); Step3 = 1; Step5 ++; FizzStat++; } else if( 5==Step5 ) { printf("%d: Buzz\n", i); Step3 ++; Step5 = 1; BuzzStat++; } else { printf("%d: not Fizz Buzz\n", i); Step3++; Step5++; } } printf("total Fizz = %d, total Buzz = %d, total FizzBuzz = %d\n", FizzStat, BuzzStat, FizzBuzzStat); return 0; }
今天偶然看到了”FizzBuzz“问题,上面是我的一点小小思考,欢迎大家交流探讨。