实现一个C语言版本的圣诞树(附源代码)

可以参考我这篇文章:

今年的圣诞节呢,同样有很多朋友来要源代码,他们除了要GO语言的源代码外,还有要C语言源代码的朋友。其实C语言和GO语言非常相似,要实现一个也是很容易的,所以我就花了点时间,实现了一个C语言版本的圣诞树,顺便复习下C语言,好久不用有点生疏了。

先来看看实现的效果,圣诞树很美的:

C语言实现的圣诞树

这是一个4层圣诞树的效果,苹果、铃铛、星星等分配都很合理,很美观。其实你也可以加一些其他的点缀,只需要修改这段代码即可:

//随机按比例分配星星、铃铛、苹果和圣诞树
char *randAppleTree()
{
  int r = rand() % 100;
  if (r < 1)
  {
    return STAR;
  }
  else if (r < 2)
  {
    return BELL;
  }
  else if (r < 10)
  {
    return APPLE;
  }
  else
  {
    return TREE;
  }
}

根据不同的随机数,返回不同的点缀,比如是苹果、铃铛或者是你自己新加的点缀。

在C语言中,并没有生成不超过n的随机数函数,所以我这里需要自己实现,代码中rand()%100,就是表示生成不超过100的随机数。

在C语言中,字符串的拼接也是个麻烦,它并不像GO语言那么灵活。在C语言中需要提前申请固定大小的字符内存,才能使用strcat函数进行拼接。所以为了不让字符串溢出,需要提前申请一个比较大的内存,我代码中申请的是1000。

其实以上实现的方式并不优雅,1000大小的字符串也可能溢出,如果要实现优雅的字符串拼接,可以参考GO语言的append函数,自动的扩大申请的内存,这就是高级语言的好处,因为这些GO语言都帮我们做了。

好了,下面重点来了,如果获取C语言版本的圣诞树源代码呢?

重要的事情说三遍,大家拿到源代码后,就可以自定义生成自己的圣诞树了,你还可以尝试把祝福语加上哦。

最后,提前祝大家圣诞节快乐,来年好运。

扫码关注
可以参考我这篇文章: 今年的圣诞节呢,同样有很多朋友来要源代码,他们除了要GO语言的源代码外,还有要C语言源代码的朋友。其实C语言和GO语言非常相似,要实现一个也是很容易的,所以我就花了点时间,实现了一个C语言版本的圣诞树,顺便复习下C语言,好久不用有点生疏了。 先来看看实现的效果,圣诞树很美的: C语言实现的圣诞树 这是一个4层圣诞树的效果,苹果、铃铛、星星等分配都很合理,很美观。其实你也可以加一些其他的点缀,只需要修改这段代码即可: //随机按比例分配星星、铃铛、苹果和圣诞树 char *randAppleTree() {   int r = rand() % 100; if (r < 1) { return STAR; } else if (r < 2) { return BELL; } else if (r < 10) { return APPLE; } else { return TREE; } } 根据不同的随机数,返回不同的点缀,比如是苹果、铃铛或者是你自己新加的点缀。 在C语言中,并没有生成不超过n的随机数函数,所以我这里需要自己实现,代码中rand()%100,就是表示生成不超过100的随机数。 在C语言中,字符串的拼接也是个麻烦,它并不像GO语言那么灵活。在C语言中需要提前申请固定大小的字符内存,才能使用strcat函数进行拼接。所以为了不让字符串溢出,需要提前申请一个比较大的内存,我代码中申请的是1000。 其实以上实现的方式并不优雅,1000大小的字符串也可能溢出,如果要实现优雅的字符串拼接,可以参考GO语言的append函数,自动的扩大申请的内存,这就是高级语言的好处,因为这些GO语言都帮我们做了。 好了,下面重点来了,如果获取C语言版本的圣诞树源代码呢? 重要的事情说三遍,大家拿到源代码后,就可以自定义生成自己的圣诞树了,你还可以尝试把祝福语加上哦。 最后,提前祝大家圣诞节快乐,来年好运。 扫码关注
经验分享 程序员 微信小程序 职场和发展