FizzBuzz
写一个程序,输出从 1 到 n 数字的字符串表示。
1. 如果 n 是3的倍数,输出“Fizz”;
2. 如果 n 是5的倍数,输出“Buzz”;
3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。
示例:
n = 15, 返回:
[
"1",
"2",
"Fizz",
"4",
"Buzz",
"Fizz",
"7",
"8",
"Fizz",
"Buzz",
"11",
"Fizz",
"13",
"14",
"FizzBuzz"
]
1 /**
2 * Return an array of size *returnSize.
3 * Note: The returned array must be malloced, assume caller calls free().
4 */
5 char** fizzBuzz(int n, int* returnSize) {
6 char string[] = "0123456789";
7 int i=0;
8 char tmp[25]={'\0'};
9 char ** p;
10 p=(char **)malloc(sizeof(char *) * n);
11 if(!p) return NULL;
12
13 //开辟空间 **p
14 for(i=0;i<n;i++){
15 p[i] = (char *) malloc(sizeof(char) * 9);
16 if(!p[i]) return NULL;
17 memset(p[i] , '\0',9);
18 }
19
20 for(i=1;i<=n;i++){
21 if(i%3 == 0 && i%5 == 0)
22 {memcpy(p[i-1], "FizzBuzz",strlen("FizzBuzz")); continue;}
23 else if(i%3 == 0){
24 memcpy(p[i-1],"Fizz",4);
25 continue;
26 }
27 else if(i%5 == 0){
28 memcpy(p[i-1],"Buzz",4);continue;
29 }
30 else{
31
32 //itoa(i,tmp,10);
33 int t=0,j=0,len;int k=i;
34 while(k != 0){
35 t = k%10;
36 tmp[j++] = string[t];
37 k = k/10;
38 }
39 //roll back
40 len =j;j=j-1;
41 while(k<len/2){
42 tmp[k] =tmp[k] ^ tmp[j];
43 tmp[j] =tmp[j] ^ tmp[k];
44 tmp[k] =tmp[k] ^ tmp[j];
45 k++;j--;
46 }
47 memcpy(p[i-1], tmp,strlen(tmp) );
48 }
49 }
50 //for(i=0;i<n;i++)
51 //printf("%s\n",p[i]);
52 return p;
53 }
FizzBuzz的更多相关文章
- class Solution(object): def fizzBuzz(self, n): a = [] i = 1 while(i <= n): if(i%15 == 0): a.append("FizzBuzz") elifleetcode day_01
412. Fizz Buzz Write a program that outputs the string representation of numbers from 1 to n. But fo ...
- FizzBuzz 问题
public class FizzBuzz { static int start = 1; static int end = 100; public static void main(String[] ...
- 简单却又复杂的FizzBuzz面试编程问题
写这篇文章主要是因为偶然看到一篇关于stackoverflow公司的面经中提到了一个有趣的面试编程问题,如题所述:FizzBuzz问题.原文引用如下: “在一些公平的考验之后,我发现那些因为代码而抓狂 ...
- 逆FizzBuzz问题求最短序列
问题描述 FizzBuzz问题:一个大于0的自然数能整除3,将输出“Fizz”:能整除5,将输出“Buzz”:能整除3和5,将输出“FizzBuzz”:否则输出自己. 逆FizzBuzz问题最短序列: ...
- 趣味编程:FizzBuzz(Kotlin版)
fun toFizzBuzzIf(n: Int) = if (n % 3 == 0 && n % 5 == 0) "FizzBuzz" else if (n % 3 ...
- 趣味编程:FizzBuzz(Swift版)
func toFizzBuzzExpr(n: Int) -> String { return n % 3 == 0 && n % 5 == 0 ? "FizzBuzz& ...
- fizzbuzz Python很有意思的解法
写一个程序,打印数字1到100,3的倍数打印“Fizz”来替换这个数,5的倍数打印“Buzz”,对于既是3的倍数又是5的倍数的数字打印“FizzBuzz” 题目不难,解起来容易,用for循环做if,e ...
- FizzBuzz and Fibonacci优化
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
- 趣味编程:FizzBuzz(Haskell版)
g :: Int -> Int -> Int -> String g n 0 0 = "FizzBuzz" g n 0 _ = "Fizz" ...
随机推荐
- python使用http、https代理
在国内利用Python从Internet上爬取数据时,有些网站或API接口被限速或屏蔽,这时使用代理可以加速爬取过程,减少请求失败,Python程序使用代理的方法主要有以下几种: (1)如果是在代码中 ...
- 基于 HTML5 结合工业互联网的智能飞机控制
前言 从互联网+的概念一出来,就瞬间吸引了各行各业的能人志士,想要在这个领域分上一杯羹.现在传统工业生产行业运用互联网+的概念偏多,但是在大众创业万众创新的背景下,“互联网+”涌出了层出不穷的“玩法” ...
- PHP(SentCMS)网站 “新手”捉虫记
我拖着疲惫的身躯,努力打开眼皮在写...... 昨晚弄到12点,我感觉应该弄好了. 故事开头是这样的:我呢朋友有个网站需要开发,我当时没时间就包给外面的公司了,由于外面公司维护费用比较贵. 那么网站维 ...
- 静态类(C#)
基本简介: 类可以声明为 static 的,以指示它仅包含静态成员.不能使用 new 关键字创建静态类的实例.静态类在加载包含该类的程序或命名空间时由 .NET Framework 公共语言运行库 ( ...
- (PAT)L2-012 关于堆的判断 (最小堆)
题目链接:https://www.patest.cn/contests/gplt/L2-012 将一系列给定数字顺序插入一个初始为空的小顶堆H[].随后判断一系列相关命题是否为真.命题分下列几种: “ ...
- Python中的 一些常用技巧函数[.join()]
1.str.join(item)字符串操作函数,参数item可以是字符串.元组.字典,示例 ','.join('abc') [','.join('abc')] 输出: 'a,b,c'['a', 'b' ...
- Python——字符转换(int , bool ,str)
while True: pass while 1: pass #效果相同,后者 效果更快 s = 1 y = bool (s) #结果为True,int只要不是0,就为真 s = 'abc' y = ...
- 离线安装IE 11
转自:http://blog.sina.com.cn/s/blog_711ab1b10102wzq1.html 1.在D盘下,新建文件夹,取名为“ie”. 2.将官网下载的IE11离线包放到此文件夹中 ...
- Azure - Create your first function using Visual Studio
Azure Functions lets you execute your code in a serverless environment without having to first creat ...
- TortoiseGit安装、配置
1 TortoiseGit简介 tortoiseGit是一个开放的git版本控制系统的源客户端,支持Winxp/vista/win7.该软件功能和git一样 不同的是:git是命令行操作模式,tort ...