实验四 循环结构程序设计
【例2】求5!你能不能对程序进行修改,使之能求n!? n从键盘输入。 /*compute 5!*/ #include void main() { int n,t; n = 1; t = 1; while(t <= 5) { n = n * t; t = t + 1; } printf(―%d\\n‖,n); } /* compute n!*/ 【例3】求和s=1!+2!+3! 你能不能对程序进行修改,使之能求1!+2!+3!+……+n!? n从键盘输入。
/*compute s=1!+2!+3!*/ #include void main() { int n,s = 0,t = 1; for(n = 1;n <= 3;n ++) { t = t * n; s = s + t; } printf(―%d‖,s); } /* compute s=1!+2!+3!+…+n!*/ 23
实验四 循环结构程序设计
【例4】求和s=1!+3!+5!。 你能不能对程序进行修改,使之能求1!+3!+5!+…+(2*n-1)!? n从键盘输入。
/*compute s=1!+3!+5!*/ #include void main() { int s = 0,t,i,j; for(i = 1;i <= 3;i ++) { t = 1; for(j = 1;j <= 2 * i-1;j ++) t = t * j; s = s + t; } printf(―%d‖,s); } /* compute s=1!+3!+5!+…+(2*n-1)!*/
【例5】求和s= 3+33+333. 你能不能对程序进行修改,使之实现教材中P129习题6.3要求的功能。要求n,a从键盘输入。 /*compute s= 3+33+333*/ #include void main() { int s=0,t=3,i; for(i=1;i<=3;i++) { s=s+t; t=10*t+3; } printf(―%d‖,s); } /* compute s=a+aa+aaa+…… */ 24
实验四 循环结构程序设计
【例6】有一数列:2/1,3/2,5/3,8/5,…求出这个数列的前10项之和。运行并分析程序,然后画出程序流程图。
#include void main() { int n,t; float a=2,b=1,s=0; for(n=1;n<=10;n++) { s=s+a/b; t=a; a=a+b; b=t; } printf(―%f\\n‖,s); } 程序流程图
【例7】水仙花数是指一个n(>=3)位数字的数,它等于每个数字的n次幂之和。在1000以内的水仙花数共有4个,分别为:153、370、371、407。运行并分析程序,然后画出程序流程图。
#include void main() { int i,j,k,n; for(n = 100;n <= 1000;n ++) { i = n/100; j = n/10-i*10; k = n; if(n== i*i*i+j*j*j+k*k*k) printf(― %d ‖,n); } } 程序流程图 25
实验四 循环结构程序设计
【例8】 如果一个自然数等于除它自身以外的各个正因子之和,则这个数叫做完全数。从1644年至1957年9月,经过许多著名数学家的辛勤劳动,共找到了十八个完数,第十八个完数约2000位。运