|
发表于 2022-6-21 23:02:36
|
显示全部楼层
本帖最后由 jackz007 于 2022-6-22 11:40 编辑
- #include<stdio.h>
- #include<string.h>
- #include<stdlib.h>
- char ** fizzBuzz(int n)
- {
- char ** s , str[2][5] = {"Fizz" , "Buzz" } ;
- int i , j ;
- s = (char **) malloc(sizeof(char *) * n) ;
- for(i = 0 ; i < n ; i ++) s[i] = (char *) malloc(sizeof(char) * 9) ;
- for(i = 1 ; i < n + 1 ; i ++) {
- if(! (i % 3) || ! (i % 5)) {
- if(! (i % 3) && ! (i % 5)) {
- strcpy(s[i - 1] , str[0]) ;
- strcat(& s[i - 1][4] , str[1]) ;
- } else {
- if(! (i % 3)) strcpy(s[i - 1] , str[0]) ;
- else strcpy(s[i - 1] , str[1]) ;
- }
- } else {
- sprintf(s[i - 1] , "%d" , i) ;
- }
- }
- return s ;
- }
- int main(void)
- {
- char ** s ;
- int i , n ;
- printf("enter n (1-15) : ") ;
- scanf("%d" , & n) ;
- if(n > 0 && n < 16) {
- s = fizzBuzz(n) ;
- printf("["%s"" , s[0]) ;
- for(i = 1 ; i < n ; i ++) printf(" , "%s"" , s[i]) ;
- printf("]\n") ;
- for(i = 0 ; i < n ; i ++) free(s[i]) ;
- free(s) ;
- } else {
- printf("Invalid n value .\n") ;
- }
- }
复制代码
编译、运行实况:
- D:\[00.Exercise]\[C]>g++ -o x x.c
- D:\[00.Exercise]\[C]>x
- enter n (1-15) : 15
- ["1" , "2" , "Fizz" , "4" , "Buzz" , "Fizz" , "7" , "8" , "Fizz" , "Buzz" , "11" , "Fizz" , "13" , "14" , "FizzBuzz"]
- D:\[00.Exercise]\[C]>
复制代码 |
评分
-
查看全部评分
|