援引http://news.youkuaiyun.com/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“问题,上面是我的一点小小思考,欢迎大家交流探讨。