第五章:循环控制结构程序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 )
程序实现:
[codesyntax lang="c"]
#include <stdio.h>
void main()
{
long int f1,f2;
int i;
f1=1;
f2=1;
for(i=1; i<=20; i++)
{
printf(″%12ld %12ld ″,f1,f2);
if(i%2==0)
{
printf(″\n″);
}
f1=f1+f2;
f2=f2+f1;
}
}
[/codesyntax]
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之间任一整数整除过,因此输出“是素数”。
程序实现:
[codesyntax lang="c"]
#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\n″,m);
}
else
{
printf("%d is not a prime number\n″,m);
}
}
[/codesyntax]
题目升级:求100~200间的全部素数并打印出来。
程序实现:
[codesyntax lang="c"]
#include <stdio.h>
#include <math.h>
void main()
{
int m,k,i,n=0;
for(m=101;m<=200;m=m+2)
{
k = sqrt(m);
for(i=2;i<=k;i++)
{
if(m%i==0)
break;
}
if(i>=k+1)
{
printf("%d ″,m);
n=n+1;
}
if(n%10==0)
{
printf(″\n″);
}
}
printf ("\n");
}
[/codesyntax]
NO.FIVE: 译密码!! 为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。
可以按以下规律将电文变成密码: 将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。 友情提示:应该有要求两个功能! 一, 输入原文译成密码; 二, 输入密码译成原文! [caption id="attachment_90" align="aligncenter" width="150"]

C语言加密文本[/caption] [buy]
获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LNFUNWEWWWAC']视频下载[/Downlink]