資源描述:
《while循環(huán)結(jié)構(gòu)例題》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、實(shí)用標(biāo)準(zhǔn)文案引子#include"stdio.h"main(){inti=1;for(i=1;i<=10000;i++)printf(“%dt”,i);}題型1輸入輸出多個(gè)數(shù)據(jù)eg1、輸出1~10000之間所有的整數(shù)#include"stdio.h"main(){inti=1;while(i<=1000){printf(“%dt”,i);i++;}}拓展:1、換成所有的奇數(shù)2、換成所有的偶數(shù)題型2有限個(gè)數(shù)連加和連乘文檔實(shí)用標(biāo)準(zhǔn)文案eg2.1、求1+2+3+4+………+100的值#include"stdio.h"main(){inti=1,s
2、=0;while(i<=100){s=s+i;i++;}printf(“%d”,s);}拓展:1、求1+2+3+4+………+n的值2、求12+22+32+………+n2的值3、求1+1/2+1/3+………+1/n的值eg2.2、求n!的值#include"stdio.h"main(){inti=1,n,p=1;scanf(“%d”,&n);while(i<=n){p=p*i;i++;}printf(“%d”,p);}文檔實(shí)用標(biāo)準(zhǔn)文案拓展:求1!+2!+3!+………+n!的值#include"stdio.h"main(){inti=1,n,
3、p=1,s;scanf(“%d”,&n);while(i<=n){p=p*i;s=s+p;i++;}printf(“%d”,s);}題型3無限個(gè)數(shù)連加eg3、求1-1/3+1/5-1/7+………的近似值,要求精度要達(dá)到10-4#include"stdio.h"#include"math.h"main(){floatn=1,s=0,f=1,t=1;while(fabs(t)>=1e-4){t=f/(2*n-1);s=s+t;文檔實(shí)用標(biāo)準(zhǔn)文案f=-f;n++;}printf(“%f”,s);}拓展:求1-1/2+1/4-1/6+………的近似
4、值,要求精度要達(dá)到10-4題型4統(tǒng)計(jì)eg4.1、輸入20個(gè)數(shù),統(tǒng)計(jì)其中正數(shù)、負(fù)數(shù)和零的個(gè)數(shù)。#include"stdio.h"main(){inti=1,n,p,z;floatx;p=n=z=0;while(i<=20){scanf(“%f”,&x);if(x>0)p++;elseif(x<0)文檔實(shí)用標(biāo)準(zhǔn)文案n++;elsez++;i++;}printf(“%dt%dt%d”,p,n,z);}拓展:統(tǒng)計(jì)各類字符的個(gè)數(shù)eg4.2個(gè)位為6且能被3整除的五位數(shù)有多少?方法1#include"stdio.h"main(){longi=1000
5、0,c=0;while(i<=99999){if((i%3==0)&&(i%10==6))c++;i++;}printf(“%d”,c);}文檔實(shí)用標(biāo)準(zhǔn)文案方法2#include"stdio.h"main(){longi=10006,c=0;while(i<=99999){if(i%3==0)c++;i=i+10;}printf(“%d”,c);}題型5數(shù)列eg5輸出fibo數(shù)列的第20位數(shù)字#include"stdio.h"main(){intf1=1,f2=1,f3,i=3;while(i<=20){f3=f1+f2;f1=f2;f
6、2=f3;文檔實(shí)用標(biāo)準(zhǔn)文案i++;}printf(“%d”,f3);}拓展:輸出fibo數(shù)列前20位數(shù)字#include"stdio.h"main(){intf1=1,f2=1,f3,i=3;printf(“%dt%dt”,f1,f2);while(i<=20){f3=f1+f2;f1=f2;f2=f3;printf(“%dt”,f3);i++;}}題型6數(shù)據(jù)的逆序輸出eg6任意給定一個(gè)正整數(shù),個(gè)位數(shù)字逆序輸出。#include"stdio.h"main(){longx,t;文檔實(shí)用標(biāo)準(zhǔn)文案scanf(“%ld”,&x);while(
7、x!=0){t=x%10;x=x/10;printf(“%d”,t);}}題型7公約數(shù)與公倍數(shù)eg7任意輸入兩個(gè)正整數(shù),求其最大公約數(shù)和最小公倍數(shù)。#include"stdio.h"main(){intm,n,a,b,r,t;scanf(“%d%d”,&m,&n);if(m>n){a=m;b=n;}else{a=n;b=m;}while(b!=0){r=a%b;a=b;b=r;}printf(“zuidagongyushushi:%d”,a);printf(“zuixiaogongbeishu文檔實(shí)用標(biāo)準(zhǔn)文案shi:%d”,m*n/a)
8、;}題型8素?cái)?shù)問題eg8從鍵盤上任意輸入一個(gè)正整數(shù),判斷其是否為素?cái)?shù)。#include"stdio.h"main(){intx,i=2;scanf(“