欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          《C語言實(shí)驗(yàn)指導(dǎo)》實(shí)驗(yàn)五 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)

          實(shí)驗(yàn)五 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)

          【目的與要求】

          熟練掌握while、do—while和for三種循環(huán)語句的應(yīng)用。

          【上機(jī)內(nèi)容】

          【一般示例】

          【例1】求5!

          main()

          {

          int n,t;

          n=1;

          t=1;

          while(t<=5)

          {

          n=n*t;

          t=t+1;

          }

          printf(“%d”,n);

          }

          【例2】求和s=1!+2!+3!

          main()

          {

          int n,s=0,t=1;

          for(n=1;n<=3;n++)

          {

          t=t*n;

          s=s+t;

          }

          printf(“%d”,s);

          }

          【例3】求和s=1!+3!+5!

          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);

          }

          【例4】求和s= 3+33+333

          main()

          {

          int s=0,t=3,i;

          for(i=1;i<=3;i++)

          {

          s=s+t;

          t=10*t+3;

          }

          printf(“%d”,s);

          }

          【例5】有一數(shù)列:2/1,3/2,5/3,8/5,…求出這個數(shù)列的前10項(xiàng)之和。

          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”,s);

          }

          【例6】打印500以內(nèi)的“水仙花數(shù)”?!八苫〝?shù)”是一個三位數(shù),其各位數(shù)立方和等于該數(shù)本身。 main()

          {

          int i,j,k,n;

          for(n=100;n<=500;n++)

          {

          i=n/100;

          j=n/10-i*10;

          k=n%10;

          if(n= =i*i*i+j*j*j+k*k*k)

          printf(“ %d”,n);

          }

          }

          【例7】一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為完數(shù)。求100之內(nèi)的所有完數(shù)。

          main()

          {

          int n,s,j;

          for(n=1;n<=100;n++)

          {

          s=0;

          for(j=1;j<n;j++)

          if (n%j= =0)

          s=s+j;

          if (s= =n)

          printf(“%d”,s);

          }

          }

          【典型示例】

          【例1】計(jì)算兩個數(shù)的最大公約數(shù); 分析:首先,隨機(jī)輸入兩個數(shù)m,n(默認(rèn)m>n);其次,算法:使k為m除以n的余數(shù),如果m能被n整除,則k值為0,n為這兩個數(shù)的最大公約數(shù),否則,使k代替n,n代替m,重復(fù)以上過程,直到k值為0。

          #include”stdio.h”

          main()

          {

          int m,n,k,result;

          printf(“Enter two numbers:”);

          scanf(“%d,%d”,&m,&n);

          if(m>0&&n>0) /*限定兩個正整數(shù)*/

          {

          do

          {

          k=n%m;

          if(k= =0)

          result=m;

          else

          {

          n=m;

          m=k;

          }

          }while(k>0); /*循環(huán)取余求出最大公因子*/

          printf(“The greatest common divistor is:%dn”,result);

          }

          else printf(“Nonpositive values not allowedn”);

          }

          【例2】用牛頓迭代求方程2×3-4×2+3x-6=0在1.0附近的根。

          #include “math.h”

          main()

          {

          float x,x0,f,f1;

          x=1.0;

          do

          { x0=x;

          f=((2*x0-4)*x0+3)*x0-6;

          f1=(6*x0-8)*x0+3;

          x=x0-f/f1;

          }

          while(fabs(x-x0)>=1e-5);

          printf(“%6.2f”,x);

          }

          【例3】打印下列圖案

          *

          ***

          *****

          *******

          main()

          { int i,j;

          for(i=1; i<=4;i++)

          {for(j=1;j<= 4-i;j++)

          printf(“ ”);

          for(j=1;j<=2*i-1;j++)

          printf(“*”);

          printf(“n”);

          }

          }

          【例4】判斷m是否是素數(shù)。

          程序:

          #include <math.h>

          main()

          {

          int m,i,k;

          scanf(“%d”,&m);

          k=sqrt(m+1);

          for(i=2;i<=k;i++)

          if (m%i= =0)

          break;

          if(i>=k+1)

          printf(“%d is a prime numbern”,m);

          else

          printf(“%d is not a prime numbern”,m);

          }

          【作業(yè)】

          1.輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。

          2.求Sn=a+aa+aaa+…+aa…a 之值,其中a是一個數(shù)字。例如:2+22+222+2222+22222(此時n=5), n由鍵盤輸入。

          3.求和1!+2!+3!+4!+…20!

          4. 打印100-999之間所有的“水仙花數(shù)”?!八苫〝?shù)”是一個三位數(shù),其各位數(shù)立方和等于該數(shù)本身。

          5. 一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為完數(shù)。求1000之內(nèi)的所有完數(shù)。

          6. 有一數(shù)列:2/1,3/2,5/3,8/5,…求出這個數(shù)列的前20項(xiàng)之和。

          7. 用迭代法求x= √a 。求平方根的迭公式為

          xn+1=1/2(xn+a/xn)

          要求前后兩次求出的x的差的絕對值小于10-5

          8. 用牛頓迭代求方程2×3-4×2+3x-6=0在1.5附近的根。

          9. 打印下列圖案

          *

          ***

          *****

          ***

          *

           

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號