无意间在国外的一个程序员编程能力测试的网站上看到这样一道题,是一个IT公司面试程序员的题目,题目很简单,可是里面包含的东西却又很多。
很多程序员在学习了语言之后,都说自己会编程了,或许看到这样的一道题会不屑一顾,可是最基础的却是最重要的。
没有几个人能够完整的把这道题目写出来,要么缺少逻辑性、要么不标准,总是有那么几个地方的缺憾。好了,下面是原题:
Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".
翻译:写出一个程序,打印出1~100.但是如果被3整除,打印Fizz,如果是5的倍数打印Buzz,如果是3和5的倍数,打印FizzBuzz。(翻译的可能不准确。见谅!)
下面是给出的一种答案,进行参考:
#include <stdio.h> int main(int argc, char *argv[]) { int i; for(i = 1; i <= 100; i++) { if(i % (3*5) == 0) printf("FizzBuzz\n"); else if(i % 5 == 0) printf("Buzz\n"); else if(i % 3 == 0) printf("Fizz\n"); /* default */ else printf("%d\n", i); } return 0; }
有兴趣的可以自己编程实现,来对比一下。欢迎转载+评论。