【程序26】 一、题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程 找出1000以内的所有完数。
二、程序分析:
三、程序源代码:
main() { int m,s,i; for(m=2;m<1000;m++) { s=0; for(i=1;i<m;i++) if(m%i==0)s+=i; if(s==m) { printf("%d is a wanshu,yinzi: ",m); for(i=1;i<m;i++) if(m%i==0) printf("%d,",i); printf("\n"); } } }
【程序27】 一、题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
二、程序分析:见下面注释
三、程序源代码:
main() { float sn=100.0,hn=sn/2; int n; for(n=2;n<=10;n++) { sn=sn+2*hn; /*第n次落地时共经过的米数*/ hn=hn/2; /*第n次反跳高度*/ } printf("the total of road is %f\n",sn); printf("the tenth is %f metern",hn); }
【程序28】 一、题目:学习使用按位与 & 。 二、程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1
三、程序源代码:
#include "stdio.h" main() { int a,b; a=077; b=a&3; printf("The a & 3(decimal) is %d n",b); b&=7; printf("The b & 7(decimal) is %d n",b); }
【程序29】 一、题目:学习使用按位或 | 。
二、程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1 三、程序源代码:
#include "stdio.h" main() { int a,b; a=077; b=a|3; printf("The a | 3(decimal) is %d\n",b); b|=7; printf("The b | 7<decimal) is %d\n",b); }
【程序30】 一、题目:学习使用按位异或 ^ 。 二、程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0
三、程序源代码:
#include "stdio.h" main() { int a,b; a=077; b=a^3; printf("The a ^ b(decimal) is %d\n",b); b^=7; printf("The a ^ b(decimal) is %d\n",b); }
|