C语言及程序设计初步例程-35 问题求解方法——迭代

贺老师教学链接  C语言及程序设计初步 本课讲解

例:求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>
#include <math.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);
}



时间: 2024-10-26 01:23:18

C语言及程序设计初步例程-35 问题求解方法——迭代的相关文章

C语言及程序设计初步例程-13 数值型数据的存储原理

贺老师教学链接  C语言及程序设计初步 本课讲解 溢出初探 #include <stdio.h> int main() { short a, b; a= 32760; printf("a=%d\n",a); b = a + 10; printf("b=%d\n",b); return 0; } 让数学老师如何面对? C语言及程序设计初步例程 #include <stdio.h> int main() { double a,b,c; a=123

C语言及程序设计初步例程-43 从文本文件中读入数据

贺老师教学链接  C语言及程序设计初步 本课讲解 编程序,实现文本文件的复制 #include <stdio.h> #include <stdlib.h> int main() { FILE *fpin, *fpout; char c; if ((fpin=fopen("source.txt", "r"))==NULL) { printf("Source file cannot open!"); exit(0); } if

C语言及程序设计初步例程-47 小小型应用系统开发指导(二)

贺老师教学链接  C语言及程序设计初步 本课讲解 简单银行系统的初步框架 #include <stdio.h> #include <stdlib.h> int main() { int iPass; int iChoice; printf("欢迎您光临CSDN银行\n"); printf("请输入密码:"); scanf("%d", &iPass); if(iPass!=123456) { printf("

C语言及程序设计初步例程-39 求素数算法

贺老师教学链接  C语言及程序设计初步 本课讲解 判别m是否为素数 #include <stdio.h> int main() { int i, m; int is_prime=1; scanf("%d", &m); for(i=2; i<=m-1; i++) { if(m%i==0) is_prime=0; } if(is_prime==1) printf("%d 是素数!\n", m); else printf("%d 不是素

C语言及程序设计初步例程-11 算术运算符与算术表达式

贺老师教学链接  C语言及程序设计初步 本课讲解 分离各位数:设 x 为一个三位整数,将其个.十.百位数分离出来(改C) #include<iostream> using namespace std; int main( ) { int x,a,b,c; cin>>x; c=x%10; b=(x/10)%10; a=x/100;//或 a=(b/10)%10; cout<<x<<"的各位数分别为:\n"<<a<<e

C语言及程序设计初步例程-46 小小型应用系统开发指导(一)

贺老师教学链接  C语言及程序设计初步 本课讲解 预备:产生随机数的方法 #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int i,ran_num; srand(time(0)); for(i=0; i<10; i++) { ran_num = rand() % 6 + 1; //ran_num将在1~6之间. printf("%d ", ran_nu

C语言及程序设计初步例程-19 字符数据及字符类型

贺老师教学链接  C语言及程序设计初步 本课讲解 字符常量 #include <stdio.h> int main() { char c1,c2; c1='a'; c2='b'; printf("%c %c\n", c1, c2); return 0; } 字符当数字用?! #include <stdio.h> int main() { char c1,c2; int i = 100; c1 = 'a'; i = i - c1; printf("c1:

C语言及程序设计初步例程-23 用if语句实现分支结构

贺老师教学链接  C语言及程序设计初步 本课讲解 下面的程序是什么结构? #include <stdio.h> int main( ) { int a,b,c; scanf("%d %d", &a, &b); if(a>b) { c=a; } else { c=b; } printf("max=%d\n",c); return 0; } 应用:求三角形的面积的程序 #include <stdio.h> int main(

C语言及程序设计初步例程-4 C语言程序初体验

贺老师教学链接  C语言及程序设计初步 本课讲解 让程序会计算:求a和b两个数之和 #include <stdio.h> int main( ) { int a,b,sum; scanf("%d %d", &a, &b); sum=a+b; printf("%d\n", sum); return 0; } 用户界面友好(或罗里罗嗦)的程序 #include <stdio.h> int main( ) { int a,b,sum