C语言程序设计学习参考资料 人工智能教研室揭安全收集整理 sn=sn+tn; a=a*10; ++count; printf("a+aa+...=%ld\n",sn); } 【程序19】 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1十2+3.编程 找 出1000以内的所有完数。 1.程序分析:请参照程序<-上页程序14. 2.程序源代码: main() { static int k[10]; int i,j,n,s; for(j=2;j<1000:j++) { n=-1; s=j; 21
C 语言程序设计学习参考资料 人工智能教研室 揭安全收集整理 21 sn=sn+tn; a=a*10; ++count; } printf("a+aa+...=%ld\n",sn); } =================================================【程序 19】 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=1+2+3.编程 找 出 1000 以内的所有完数。 1. 程序分析:请参照程序<--上页程序 14. 2.程序源代码: main() { static int k[10]; int i,j,n,s; for(j=2;j<1000;j++) { n=-1; s=j;
C语言程序设计学习参考资料 人工智能教研室揭安全收集整理 for(i=1;i if((j%i)=0) {n++; S=s-1 k[n]=i; } if(s--0) { printf("%d is a wanshu",j) for(i=0;i printf("%d,",k[i门): printf"%dn",k[n)月 } 【程序20】 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在 第 10次落地时,共经过多少米?第10次反弹多高? 1程序分析:见下面注释 22
C 语言程序设计学习参考资料 人工智能教研室 揭安全收集整理 22 for(i=1;i { if((j%i)==0) { n++; s=s-i; k[n]=i; } } if(s==0) { printf("%d is a wanshu",j); for(i=0;i printf("%d,",k[i]); printf("%d\n",k[n]); } } } =================================================【程序 20】 题目:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第 10 次落地时,共经过多少米?第 10 次反弹多高? 1.程序分析:见下面注释
C语言程序设计学习参考资料 人工智能教研室揭安全收集整理 2.程序源代码: mainO { 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 meter\n",hn); 【程序21】 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第 二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半 零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 1程序分析:采取逆向思维的方法,从后往前推断。 23
C 语言程序设计学习参考资料 人工智能教研室 揭安全收集整理 23 2.程序源代码: 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 meter\n",hn); } 【程序 21】 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第 二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半 零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 1.程序分析:采取逆向思维的方法,从后往前推断
C语言程序设计学习参考资料 人工智能教研室揭安全收集整理 2.程序源代码: main() { int day,x1,x2; day=9; x2=1; while(day>0) {x1=(x2+1)*2:/*第一天的桃子数是第2天桃子数加1后的2倍*/ x2=x1; day--; } printf("the total is %d\n",x1): } 【程序22】 题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为xy,z三人。己抽签 决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程 序找出三队赛手的名单。 1程序分析:判断素数的方法:用一个数分别去除2到sq(这个数),如果能被整除, 则 24
C 语言程序设计学习参考资料 人工智能教研室 揭安全收集整理 24 2.程序源代码: main() { int day,x1,x2; day=9; x2=1; while(day>0) {x1=(x2+1)*2;/*第一天的桃子数是第 2 天桃子数加 1 后的 2 倍*/ x2=x1; day--; } printf("the total is %d\n",x1); } ================================================= 【程序 22】 题目:两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签 决定比赛名单。有人向队员打听比赛的名单。a 说他不和 x 比,c 说他不和 x,z 比,请编程 序找出三队赛手的名单。 1.程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除, 则
C语言程序设计学习参考资料 人工智能教研室揭安全收集整理 表明此数不是素数,反之是素数。 2.程序源代码: main( { char i,j,k;/*i是a的对手,j是b的对手,k是c的对手*/ for(i='x':i<=Z;i++) for(j=x';j<-'z;j++) { if(i!=j) for(k='x';k<='Z;k++) {if i!=k&&j!=k) if(i!=x'&&k!=x'&&k!=z) printf("order is a--%c\tb--%c\tc--%c\n",i,j,k); } 【程序23】 25
C 语言程序设计学习参考资料 人工智能教研室 揭安全收集整理 25 表明此数不是素数,反之是素数。 2.程序源代码: main() { char i,j,k;/*i 是 a 的对手,j 是 b 的对手,k 是 c 的对手*/ for(i='x';i<='z';i++) for(j='x';j<='z';j++) { if(i!=j) for(k='x';k<='z';k++) { if(i!=k&&j!=k) { if(i!='x'&&k!='x'&&k!='z') printf("order is a--%c\tb--%c\tc--%c\n",i,j,k); } } } } ================================================= 【程序 23】