信息技术教案

5.7 循环程序举例

时间:2015-11-02 来源:无忧教育网 编辑:森林狼 点击:

5.7 循环程序举例

例5.8 有一对兔子,出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假设所有兔子都不死,问40个月的兔子总数为多少?
分析:
        每个月的兔子总数依次为1,1,2,3,5,8,13…
         是费波那西(Fibonacci)数列
         特点:第1、2两个数为1、1
         从第3个数开始,该数是其前面两个数之和
第几个月 小兔子对数 中兔子对数 老兔子对数 兔子总数
1                    1                    0                    0               1
2                    0                    1                    0               1
3                    1                    0                    1               2
4                    1                    1                    1               3
5                    2                    1                    2               5
6                    3                    2                    3               8
7                    5                    3                    5              13
                 ┆                  ┆                  ┆              ┆



#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;
   }
}

证明素数:
例5.9 有一个整数m,判断它是否素数。
解题思路:
所谓素数(或称质数)是指除了1和它本身以外,不能被任何整数整除的数
例如17是素数,因为它不能被2到16间任一整数整除
因此判断一个整数m是否素数,只需把m被2到m-1之间的每一个整数去除,如果都不能被整除,那末m就是一个素数 
#include <stdio.h>
#include <math.h>
void main()
{int m,i,k;
  printf(“number:");  scanf(“%d”,&m); 
  k=(int)sqrt(m); 
  for (i=2;i<=k;i++) 
     if(m%i==0)  break; 
  if(i>k)  printf("%d prime\n",m);
  else  printf("%d not prime\n",m);
}
运行结果:
number: 17↙
17 prime

译码器程序
例5.10 译密码。为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。
 
A B C D E F G …… W X Y Z
 
非字母字符保持原状不变
输入一行字符,要求输出其相应的密码

解题思路:
(1) 从字母A到V,只需将字母加上4就行
       例如,’A’+4就是’E’
(2) 从字母W到Z,将字母加4,再减去26
           ’W’+4-26就是’A’

解题思路:
输入一个字符给字符变量c
判定它是否字母(包括大小写),若不是字母,不改变c的值;若是字母,则使变量c的值改变为其后第4个字母
如果新的c值范围不在字母范围内,应减去26
#include <stdio.h>
void main()
{ char c;
   while((c=getchar())!=‘\n’)
   { if((c>=‘a’ && c<=‘z’) || 
                     (c>=‘A’ && c<=‘Z’)) 
      { c=c+4; 
         if(c>‘Z’ && c<=‘Z’+4 || c>‘z’) 
             c=c-26; 
      }
      printf("%c",c);
   }  
}
运行结果:
China!↙ 
Glmre!
http://www.edu399.com/
详细内容可下载幻灯片细看:
http://www.edu399.com/kejian/C/C.rar

  [英语作文专题]   [证明范文]   [企业工作总结专题]   [拜年作文]

本文地址:http://www.edu399.com/jiaoan/xxjs/142451.html
本文标题:5.7 循环程序举例
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)