cr:经典
题目45
用函数改变变量的值。
思路:
代码:
对方:![](https://img-blog.csdnimg.cn/c80ca639e3ea4a9190b7a215154f5b9f.png)
反思&收获:
今天的这道题解决了昨天留下的问题:用返回值为空的函数改变变量的值。
用到的方法是指针,通过传递、接收变量的地址“顺藤摸瓜”改变变量的值。
cr:小林
例56
有一个分数列:2/1,3/2,5/3,8/5,13/8,21/13...,C语言编程求出这个数列的前20项之和。
思路:
找到规律之后把前两项写好,接下来的元素用for循环逐个计算;再定义一个sum变量计算最终的结果。 在打代码的时候发现了困难之处:结果要的是和,而不是第20项,所以既要有每一项的结果求和计算,还要有每一项的准确数字。
定义三个变量,分别存放分子、分母,以及每一项的结果;这样的话,a和b数组是int类型的,c是float类型的;最后用float类型的sum计算c数组的和。
代码:
#include<stdio.h>
main()
{
int i;
double sum = 0, a, b, c;
a = 2, b = 1;
for (i = 0; i < 20; i++) {
sum += a / b;
c = a;
a = a + b;
b = c;
}
printf("%.47f\n", sum);
}
对方:![](https://img-blog.csdnimg.cn/aa82c4199c56412d9519e77b9cb99384.png)
反思&收获:
按我原先想法打出来的代码有问题;对方的思路简单、代码简洁清爽。
这个题目不仅代码方案实施有问题,就连规律都没找到最简的!