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 (以字符串形式)如果上述条件全不满足。

问题分析

按照题目描述进行求解即可

代码

c 复制代码
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;
}

提交结果截图

相关推荐
踢球的打工仔2 分钟前
前端html(3)
前端·算法·html
程序员-King.2 分钟前
day114—同向双指针(数组)—统计得分小于K的子数组数目(LeetCode-2302)
算法·leetcode·双指针
智算菩萨3 分钟前
深度学习在教育数据挖掘(EDM)中的方法体系:从任务建模到算法范式的理论梳理与总结
深度学习·算法·数据挖掘
_OP_CHEN7 分钟前
【算法基础篇】(二十七)从记忆化搜索到动态规划:保姆级入门指南,带你吃透 DP 核心思想!
算法·蓝桥杯·动态规划·记忆化搜索·算法竞赛·acm/icpc
是Dream呀8 分钟前
后端开发入门超完整速成路线(算法篇)
算法
代码雕刻家8 分钟前
1.10.课设实验-数据结构-查找-机票查询
c语言·数据结构·算法
biyezuopinvip15 分钟前
音频DSP技术与应用数字信号处理算法实验(论文)
算法·音视频·信号处理·代码·音频dsp技术·应用数字信号·处理算法实验
小妖66620 分钟前
力扣(LeetCode)- 60. 排列序列
算法·leetcode·职场和发展
im_AMBER23 分钟前
Leetcode 70 好数对的数目 | 与对应负数同时存在的最大正整数
数据结构·笔记·学习·算法·leetcode
小妖66623 分钟前
力扣(LeetCode)- 74. 搜索二维矩阵
算法·leetcode·矩阵