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

圣诞树C语言源代码,关注飞雪无情公众号即可获取,详见文章底部

2018年的圣诞节前夜,使用GO语言实现了一颗随机圣诞树,也就是每次运行程序,生成的圣诞树都不一样,独一无二的。当时受到了很大的欢迎,很多朋友来要源代码,我已经放在了公众号上。

可以参考我这篇文章:程序员的圣诞节--送她一颗圣诞树(附源代码) 

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

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

实现一个C语言版本的圣诞树(附源代码)_第1张图片

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语言版本的圣诞树源代码呢?

在微信中搜索飞雪无情公众号关注,然后在公众号中回复圣诞节或者圣诞树即可获取。

在微信中搜索飞雪无情公众号关注,然后在公众号中回复圣诞节或者圣诞树即可获取。

在微信中搜索飞雪无情公众号关注,然后在公众号中回复圣诞节或者圣诞树即可获取。

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

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

本文为原创文章,转载注明出处,asdff 欢迎扫码关注公众号flysnow_org或者网站http://www.flysnow.org/,第一时间看后续精彩文章。觉得好的话,请猛击文章右下角「好看」,感谢支持。

实现一个C语言版本的圣诞树(附源代码)_第2张图片

扫码关注

你可能感兴趣的:(java,python,编程语言,面试,c++)