C语言及程序设计初步例程-35 问题求解方法——迭代
2015-01-28 13:46
337 查看
贺老师教学链接 C语言及程序设计初步 本课讲解
例:求Fibonacci数列前40个数
另解:在“迭代”中,赋予变量新的含义
求级数公式(精确到小数点后5位)
另一个正解
例:求Fibonacci数列前40个数
#include <stdio.h> int main() { long f1,f2,fn; int i; f1=f2=1; printf("%ld\t%ld\t",f1,f2); for(i=3; i<=40; i++) { fn=f1+f2; printf("%ld\t",fn); if(i%5==0) printf("\n"); f1=f2; f2=fn; } return 0; }
另解:在“迭代”中,赋予变量新的含义
#include <stdio.h> int main() { long f1,f2; int i; f1=f2=1; for(i=1; i<=20; i++) { printf("%ld\t%ld\t",f1,f2); if(i%2==0) printf("\n"); f1=f1+f2; //左f1代表第3个数,是第1、2数之和 f2=f2+f1; //左f2代表第4个数,是第2、3数之和 } return 0; }
求级数公式(精确到小数点后5位)
#include <stdio.h> #include <math.h> int main() { double x, sum=1, term=1; int i=1;//一定要赋初值 scanf("%lf", &x); while(fabs(term)>=1e-5) { term=term*(-1)*x*x/((2*i)*(2*i-1)); sum=sum+term; i++; } printf("%f\n", sum); return 0; }
另一个正解
#include <stdio.h> int main() { double x, sum=0, term=1; int i=1; scanf("%lf", &x); while(fabs(term)>=1e-5) { sum=sum+term; term=term*(-1)*x*x/((2*i)*(2*i-1)); i++; } printf("%f\n", sum); }
相关文章推荐
- 第1周 C语言及程序设计初步 例程-7 问题求解方法——迭代
- 第二周《C语言及程序设计》实践项目35 问题求解方法——迭代
- C语言初步-第35讲: 问题求解方法——迭代(另类求和)
- C语言初步-第35讲: 问题求解方法——迭代(Bessel函数 )
- 第1周 C语言及程序设计初步 例程-3 利用switch语句解决问题
- C语言及程序设计进阶例程-27 贪心法问题求解
- C语言及程序设计进阶例程-25 排序问题及其求解
- C语言及程序设计进阶例程-24 查找问题及其求解
- C语言及程序设计进阶例程-28 动态规划法问题求解
- C语言:问题求解方法-迭代
- C语言及程序设计进阶例程-6 递归法问题求解
- C语言及程序设计初步例程-26 利用switch语句解决问题
- C语言及程序设计进阶例程-35 标准文件读写方法
- C语言及程序设计进阶例程-26 回溯溯法问题求解
- C语言及程序设计初步例程-43 从文本文件中读入数据
- C语言及程序设计初步例程-34 用循环累加
- C语言及程序设计初步例程-39 求素数算法
- C语言及程序设计初步例程-36 用循环处理文字
- C语言及程序设计初步例程-37 循环嵌套
- C语言及程序设计初步例程-30 算法的基本概念