{
if((j%i)==0) { n++; s=s-i;
k[n]=i;/*将每个因子赋给k0,k1...k9*/ } }
if(s= =0) {
printf(\是一个完数,它的因子是:\ for(i=0;i 6.8 有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…求出这个数列的前20项之和. 解: #include int n,t,number=20; float a=2,b=1,s=0; for(n=1;n<=number;n++) { s=s+a/b; t=a,a=a+b,b=t; } printf(\总和=%9.6f\\n\ } 编译已通过=32.660259 6.9球反弹问题 #include 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(\第10次落地时共经过%f米 \\n\ printf(\第10次反弹%f米.\\n\ } 编译已通过 经过299.609375m 反弹0.097656m 6.10猴子吃桃问题 #include int day,x1,x2; day=9; x2=1; while(day>0) { x1=(x2+1)*2; x2=x1; day--; } printf(\桃子总数=%d\\n\ } 编译已通过=1534 上面的程序是从最后一天计算,一直到第一天。当while第一次循环,既day=9的时候,X1此时计算的是第9天的桃子数。而X2既是X1前一天的桃子数。计算出第9天的桃子数后,把X1的值赋值给X2,那么X2此时X2就表示第9天的桃子数,再通过while的循环,可以逐步求出第7天,第6天...一直到第一天的桃子数. 这里X2=X1,就是一个赋值的过程,为的是求前一天的桃子数. 6.11用迭代法求x= 。求平方根的迭代公式为: 要求前后两次求出的差的绝对值小于0.00001。 #include float x0,x1,a; scanf(\ x1=a/2; do { x0=x1; x1=(x0+a/x0)/2; }while(fabs(x0-x1)>=0.00001); printf(\ } 编译已通过 6.12 用牛顿迭代法求方程在1.5附近的根。 #include double x,y;x=1.5; do { y=2*x*x*x-4*x*x+3*x-6; x=x-y/(6*x*x-8*x+3); }while(y!=0); printf(\ } 编译已通过x=2.000 6.13用二分法求方程在(-10,10)之间的根: #include double x1,x2,y1,y2;x1=-10;x2=10; do { y1=2*x1*x1*x1-4*x1*x1+3*x1-6; x1=x1-y1/(6*x1*x1-8*x1+3); }while(y1!=0); do { y2=2*x2*x2*x2-4*x2*x2+3*x2-6; x2=x2-y2/(6*x2*x2-8*x2+3); }while(y2!=0); printf(\ } 编译已通过 x1=2.000,x2=2.000 6.14打印图案 #include int i,j,k; for(i=0;i<=3;i++) { for(j=0;j<=2-i;j++) printf(\ for(k=0;k<=2*i;k++) printf(\ printf(\ } for(i=0;i<=2;i++) { for(j=0;j<=i;j++) printf(\ for(k=0;k<=4-2*i;k++) printf(\ printf(\ }} 编译已通过 6.15乒乓比赛 #include 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(\顺序为:\\na--%c\\tb--%c\\tc--%c\\n\ } } }} }编译已通过 7.1用筛选法求100之内的素数. /*用筛选法求100之内的素数*/ #include {int i,j,line,a[N]; for(i=2;i 11 printf(\ for(i=2,line=0;i {printf(\ line++; if(line==10) {printf(\ line=0;} } 21 } 6,11,21没通过 7.2用选择法对10个数排序. /*选择法排序.*/ #include { int i,j,min,temp,a[N]; /*输入数据*/ printf(\请输入十个数:\\n\ for (i=0;i printf(\ for(i=0;i for (i=0;i for(j=i+1;j /*输出*/ printf(\排序结果如下:\\n\ for(i=0;i 编译已通过 7.3对角线和: /*计算矩阵对角线元素之和*/ #include int a[3][3]; int i,j;//i为行j为列 int sum=0; int sum1=0; //输入