实现一个C语言版本的圣诞树(附源代码)
可以参考我这篇文章:
今年的圣诞节呢,同样有很多朋友来要源代码,他们除了要GO语言的源代码外,还有要C语言源代码的朋友。其实C语言和GO语言非常相似,要实现一个也是很容易的,所以我就花了点时间,实现了一个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语言版本的圣诞树源代码呢?
重要的事情说三遍,大家拿到源代码后,就可以自定义生成自己的圣诞树了,你还可以尝试把祝福语加上哦。
最后,提前祝大家圣诞节快乐,来年好运。
下一篇:
day16-学生管理系统和面向对象