您的位置:首页 > 其它

小白笔记------------------leetcode(412. Fizz Buzz )

2016-11-14 10:30 483 查看
Write a program that outputs the string representation of numbers from 1 to
n.

But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.

Example:

n = 15,

Return:
[
"1",
"2",
"Fizz",
"4",
"Buzz",
"Fizz",
"7",
"8",
"Fizz",
"Buzz",
"11",
"Fizz",
"13",
"14",
"FizzBuzz"
]


Subscribe to see which companies asked this question

注意二维字符串数组的malloc,先确定行数,然后为每行创造空间;注意二维字符串数组每行的赋值用*(p+i)的方式

/**
* Return an array of size *returnSize.
* Note: The returned array must be malloced, assume caller calls free().
*/
char** fizzBuzz(int n, int* returnSize) {
char **result;
int i = 0, m =16;
result =(char **)malloc( n*sizeof(char *) );
for(i = 0;i < n;i++ )
{
result[i]=(char *)malloc( m * sizeof(char) );
}

for(i=0;i<n;i++)
{
if((i+1)%15==0)
*(result+i)="FizzBuzz";
else if((i+1)%3==0)
*(result+i)="Fizz";
else if((i+1)%5==0)
*(result+i)="Buzz";
else
sprintf(*(result+i), "%d", i+1);
}
*returnSize =n;
return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: