大学真是一个神奇的地方,你有四年的时间干任何事情,上各种你喜欢的课。当然了,你也遇到一些让你痛苦无比的课,比如说高数,还有C语言。说到C语言呢,我就想起来,有一次我在装逼,说自己精通C语言。然后就有人问我,你懂什么叫指针吗。我说,虽然我不懂指针啊,但是我其他的什么数组啊,循环啊,冒泡法都玩的很溜。可惜那个人毫不留情地指出,不懂指针的人没有资格说精通C语言。好吧,我其实一点都不懂C语言是啥,估计是加拿大人的语言。
不过啊,不懂C语言的我,也遇到了一个需要使用C语言的时候。有一个小伙伴需要处理32个数据,先做九次求和,再算六次平方,再迭代一次即可完成。听起来很简单,没有多少操作。可是你看看这些公式
是不是一下觉得这个世界不够美好啊。为了拯救世界,是时候祭出程续猿大法了。
如果使用代码解决这些问题,只需要准备五个函数
这段代码可以实现
代码段2
这段代码可以实现
最后的迭代有点难,我使用了数组的方式来实现,不知道有没有其他的写法。
最后的输出结果如图
大概迭代了20次可以得到比较好的结果。
最后讨论一些优化的东西。
可以优化的对象一:大量相同的初始化数据
我创建了五个函数来实现各个公式,因为在函数内部已经进行了计算,所以没法在主函数内初始化数据,必须在每个的函数内容进行初始化,虽然复制粘贴的时候很爽,但是如果要修改初始化数据的话,就要在每个函数内部进行修改,这样很麻烦,容易遗漏。有没有什么方法可以只初始化一次,而不是在每个函数里面都初始化一次呢。
可以优化的对象二:输出TXT的优化
使用了fprintf()函数将结果输出到TXT内便于数据的进一步处理,但是不知道为啥,使用以下代码进行printf()的输出可以输出99个,但是fprintf()的输出只能输出最后一个i=99的结果。不知道为什么printf()的输出可以循环,但是fprintf()的输出没法循环。
如果有大神可以解答一下那两个代码的优化就更好了。
(似乎第一个可以用指针,先在主函数里面定义指针,初始化数据。指针和数据连接起来,然后在实现的函数里面载入指针就可以做到)
大学真是一个神奇的地方,你有四年的时间干任何事情,上各种你喜欢的课。当然了,你也遇到一些让你痛苦无比的课,比如说高数,还有C语言。说到C语言呢,我就想起来,有一次我在装逼,说自己精通C语言。然后就有人问我,你懂什么叫指针吗。我说,虽然我不懂指针啊,但是我其他的什么数组啊,循环啊,冒泡法都玩的很溜。可惜那个人毫不留情地指出,不懂指针的人没有资格说精通C语言。好吧,我其实一点都不懂C语言是啥,估计是加拿大人的语言。
不过啊,不懂C语言的我,也遇到了一个需要使用C语言的时候。有一个小伙伴需要处理32个数据,先做九次求和,再算六次平方,再迭代一次即可完成。听起来很简单,没有多少操作。可是你看看这些公式
是不是一下觉得这个世界不够美好啊。为了拯救世界,是时候祭出程续猿大法了。
如果使用代码解决这些问题,只需要准备五个函数
这段代码可以实现
代码段2
这段代码可以实现
最后的迭代有点难,我使用了数组的方式来实现,不知道有没有其他的写法。
最后的输出结果如图
大概迭代了20次可以得到比较好的结果。
最后讨论一些优化的东西。
可以优化的对象一:大量相同的初始化数据
我创建了五个函数来实现各个公式,因为在函数内部已经进行了计算,所以没法在主函数内初始化数据,必须在每个的函数内容进行初始化,虽然复制粘贴的时候很爽,但是如果要修改初始化数据的话,就要在每个函数内部进行修改,这样很麻烦,容易遗漏。有没有什么方法可以只初始化一次,而不是在每个函数里面都初始化一次呢。
可以优化的对象二:输出TXT的优化
使用了fprintf()函数将结果输出到TXT内便于数据的进一步处理,但是不知道为啥,使用以下代码进行printf()的输出可以输出99个,但是fprintf()的输出只能输出最后一个i=99的结果。不知道为什么printf()的输出可以循环,但是fprintf()的输出没法循环。
如果有大神可以解答一下那两个代码的优化就更好了。
(似乎第一个可以用指针,先在主函数里面定义指针,初始化数据。指针和数据连接起来,然后在实现的函数里面载入指针就可以做到)