• 程序举例(初学者)


    例1:用Π/4=1-1/3+1/5-1/7+...公式求Π的近似值,直到某一项的绝对值小于10^6为止。

    提示:(1)要确定计算的精度,可以配合while循环语句用fabs()函数确定精度来退出。

    (2)据观察,分子不变,分母却每次递增2,且正负切换。

    (3)记得结果乘以4。

    #include<stdio.h>
    #include<math.h>
    
    void main()
    {
        int s;
        float n,t,pi;
        t=1;pi=0;n=1.0;s=1;
        while(fabs(t)>1e-6)
        {
            pi=pi+t;
            n=n+2;
            s=-s;
            t=s/n;
        }
        pi=pi*4;
        printf("pi=%f
    ",pi);
    }

    例2:求Fibonacci数列前40个数。这个数列有如下特点:第1、2两个数为1,1。从第三个数开始,该数是其前面两个数之和。

    即:

    F(1)=1    (n=1)

    F(2)=1    (n=2)

    F(n)=F(n-1)+F(n-2)

    法1:(我自己做的)

    #include<stdio.h>
    
    void main()
    {
        int f1,f2,n;
        n=1;
        for(f1=1;n<=40;n++)
        {
            if(n<=2)
            {
                f2=1;
                printf("%d
    ",f1);
            }
            else
            {
                if(n%2==0)
                    f1=f2+f1;
                else
                    f2=f1+f2;
                if(f1>f2)
                    printf("%d
    ",f1);
                else
                    printf("%d
    ",f2);
            }
        }
    }

     法2:(参考答案)

    #include<stdio.h>
    
    void main()
    {
        int f1,f2,n;
        f1=1;
        f2=1;
        for(n=1;n<=20;n++)
        {
            printf("%d
    %d
    ",f1,f2);
            f1=f1+f2;
            f2=f2+f1;
        }
    }

    例3:写一个程序,允许输入一个数m,并判断m是否为素数。

    算法思想:让m被2到k除,如果m能被2~k之中任何一个整数整除,则提前结束循环,此时i必然小于或等于k;如果m不能被2~k之间任意一整数整除,则在完成最后一次循环后,i还要加1,因此i=k+1,然后才终止循环。在循环之后判别i的值是否大于或等于k+1,若是,则表明未曾被2~k之间任意整数整除过,因此输出“是素数”。

    法1:(我自己做的)

    #include<stdio.h>
    
    void main()
    {
        int i,m;
        scanf("%d",&m);
        for(i=2;i<m;i++)
        {
            if(0==m%i)
            {
                printf("%d is not a prime number
    ",m);
                break;
            }
        }
        if(i==m)
            printf("%d is a prime number
    ",m);
    }

     法2(参考答案)

    #include<stdio.h>
    #include<math.h>
    
    void main()
    {
        int m,i,k;
        scanf("%d",&m);
        k = sqrt(m);
        for(i=2;i<=k;i++)
        {
            if(m%i==0)
            {
                break;
            }
        }
        if(i>k)
        {
            printf("%d is a prime number",m);
        }
        else
        {
            printf("%d is not a prime number",m);
        }
    }

    例4:把100~200间的素数全部打印出来。

    #include<stdio.h>
    
    void main()
    {
        int m,i;
        for(m=100;m<=200;m++)
        {
            for(i=2;i<m;i++)
            {
                if(0==m%i)
                    break;
            }
            if(m==i)
            {
                printf("%d
    ",m);
            }
        }
    }

    例5:按以下规律将电文变成密码:

    将字母A变成字母E,a变成e,即变成其后的第四个字母,W变成A,X变成B,Y变成C,Z变成D。

    提示:两个功能:

    一、输入原文译成密码。

    二、输入密码译成原文。

      

        

  • 相关阅读:
    Linux命令——find
    Linux命令——locate
    python模块:datetime
    python模块:json
    python模块:shelve
    python模块:shutil
    python模块:sys
    python:OS模块
    str.index()与str.find()比较
    python模块:re
  • 原文地址:https://www.cnblogs.com/lvfengkun/p/10290037.html
Copyright © 2020-2023  润新知