本文主要是介绍412. Fizz Buzz(Fizz Buzz),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:
answer[i] == "FizzBuzz" 如果 i 同时是 3 和 5 的倍数。
answer[i] == "Fizz" 如果 i 是 3 的倍数。
answer[i] == "Buzz" 如果 i 是 5 的倍数。
answer[i] == i (以字符串形式)如果上述条件全不满足。
问题分析
按照题目描述进行求解即可
代码
char * num_to_str(int n){int count = 0;int num = n;while(num!=0){num/=10;count++;}char *x = (char *)malloc(sizeof(char)*(count+1));x[count] = '\0';count--;while(count>=0){x[count] = n%10+'0';n/=10;count--;}return x;
}
char** fizzBuzz(int n, int* returnSize) {char ** str = (char **)malloc(sizeof(char *)*(n));char answer1[] = "FizzBuzz";char answer2[] = "Fizz";char answer3[] = "Buzz";for(int i=1; i<=n; i++){if(i%3==0&&i%5==0){str[i-1] = (char *)malloc(sizeof(char)*(9));strcpy(str[i-1], answer1);}else if(i%3==0){str[i-1] = (char *)malloc(sizeof(char)*(5));strcpy(str[i-1], answer2);}else if(i%5==0){str[i-1] = (char *)malloc(sizeof(char)*(5));strcpy(str[i-1], answer3);}else{str[i-1] = num_to_str(i);}}*returnSize = n; return str;
}
提交结果截图
这篇关于412. Fizz Buzz(Fizz Buzz)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!