循环控制结构程序07 – 零基础入门学习C语言22

第五章:循环控制结构程序 07

让编程改变世界

Change the world by program

程序举例

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

即:

F(1) = 1 ( n=1 )

F(2) = 1 ( n=2 )

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

程序实现:

#include

void main()

{

    long int f1,f2;

    int i;

    f1=1;       

    f2=1;

    for(i=1; i

NO.THREE: 写一个程序,允许输入一个数 m,并判断 m 是否为素数?

提示: 素数又称质数。指在一个大于 1 的自然数中,除了 1 和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1 和自己)的自然数即为素数。

算法思想:

让 m 被 2 到 k 除,如果 m 能被 2~ k 之中任何一个整数整除,则提前结束循环,此时 i 必然小于或等于 k;

如果 m 不能被 2~ k 之间的任一整数整除,则在完成最后一次循环后,i 还要加 1,因此 i=k+1,然后才终止循环。

在循环之后判别 i 的值是否大于或等于 k+1,若是,则表明未曾被 2~ k 之间任一整数整除过,因此输出“是素数”。

程序实现:

#include

#include

void main()

{

    int m,i,k;

    scanf(″% d″,&m);k=sqrt(m);

    for (i=2;ik)                

        {

            printf("% d is a prime number\n″,m);

        }

        else

        {

            printf("% d is not a prime number\n″,m);

        }

}

题目升级:求 100~200 间的全部素数并打印出来。

程序实现:

#include

#include

void main()

{

    int m,k,i,n=0;   

    for(m=101;m=k+1)                               

        {

            printf("% d ″,m);     

            n=n+1;

        }                 

        if(n %10==0)                        

        {

            printf(″\n″);

        }      

    }

    printf ("\n");

}

NO.FIVE: 译密码!! 为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。

可以按以下规律将电文变成密码: 将字母 A 变成字母 E,a 变成 e,即变成其后的第 4 个字母,W 变成 A,X 变成 B,Y 变成 C,Z 变成 D。

友情提示:应该有要求两个功能!

一, 输入原文译成密码;

二, 输入密码译成原文!

宽客网,量化投资,宽客俱乐部

C 语言加密文本

视频下载