412. Fizz Buzz

Write a program thatoutputs the string representation of numbers from 1 to n.

But for multiples of threeit should output “Fizz” instead of the number and for the multiples of fiveoutput “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"

]


 


 

編寫一個程序,輸出數字的字符串表示從1到n

但是對於三倍的倍數,它應該輸出“Fizz”而不是數字和五個輸出“Buzz”的倍數。對於三號和五號輸出“FizzBuzz”的倍數的數字。

主要是這個要求返回字符串的數組,題其實比較簡單,基本思路是先申請指向字符串數組的指針,然後申請字符串的指針,代碼如下:

 

/**

 * Return an array of size*returnSize.

 * Note: The returnedarray must be malloced, assume caller calls free().

 */

char** fizzBuzz(int n, int*returnSize) {

    char **p;

    int i;

    p=(char**)malloc(n*sizeof(char *));

   for(i=0;i<n;i++)

       p[i]=(char *)malloc(10*sizeof(char));

   for(i=1;i<n+1;i++)

    {

       if(i%15==0)

             *(p+i-1)="FizzBuzz";

       else if(i%5==0)

           *(p+i-1)="Buzz";

       else  if(i%3==0)

           *(p+i-1)="Fizz";

       else

             sprintf(*(p+i-1), "%d", i);

    }

    * returnSize = n;

    return p;


}


  

發佈了39 篇原創文章 · 獲贊 10 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章