while循环结构例题Word文档下载推荐.docx
《while循环结构例题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《while循环结构例题Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
![while循环结构例题Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-2/1/eda0e55b-78f6-4061-bb3f-b06c43d7f71d/eda0e55b-78f6-4061-bb3f-b06c43d7f71d1.gif)
n);
=n){p=p*i;
}printf(“%d\n”,p);
求1!
+2!
+3!
++n!
main()
{inti=1,n,p=1,s;
scanf(“%d”,&
s=s+p;
printf(“%d\n”,s);
题型3无限个数连加
eg3、求1-1/3+1/5-1/7+得近似值,要求
精度要达到10-4
#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;
f=-f;
n++;
printf(“%f\n”,s);
求1-1/2+1/4-1/6+得近似值,要求
题型4统计
eg4、1、输入20个数,统计其中正数、负数与零得个数。
{inti=1,n,p,z;
floatx;
p=n=z=0;
=20)
{scanf(“%f”,&
x);
if(x>
0)
p++;
else
if(x<
z++;
printf(“%d\t%d\t%d\n”,p,n,z);
}拓展:
统计各类字符得个数eg4、2个位为6且能被3整除得五位数有多少?
方法1
{longi=10000,c=0;
=99999)
{if((i%3==0)&
&
(i%10==6))c++;
i++;
printf(“%d\n”,c);
}方法2#include"
{longi=10006,c=0;
{
if(i%3==0)
c++;
i=i+10;
题型5数列
eg5输出fibo数列得第20位数字#include"
{intf1=1,f2=1,f3,i=3;
{f3=f1+f2;
f1=f2;
f2=f3;
printf(“%d\n”,f3);
输出fibo数列前20位数字
printf(“%d\t%d\t”,f1,f2);
f1=f2;
f2=f3;
printf(“%d\t”,f3);
题型6数据得逆序输出
eg6任意给定一个正整数,个位数字逆序输出。
main(){longx,t;
scanf(“%ld”,&
while(x!
=0)
{t=x%10;
x=x/10;
printf(“%d”,t);
}
题型7公约数与公倍数
eg7任意输入两个正整数,求其最大公约数与最小公倍数。
{intm,n,a,b,r,t;
scanf(“%d%d”,&
m,&
if(m>
n){a=m;
b=n;
else{a=n;
b=m;
while(b!
{r=a%b;
a=b;
b=r;
printf(“zuidagongyushushi:
%d\n”,a);
printf(“zuixiaogongbeishushi:
%d\n”,m*n/a);
题型8素数问题
eg8从键盘上任意输入一个正整数,判断其就是否为素数。
{intx,i=2;
while(x%i!
=0)i++;
if(x==i)printf(“shi!
”);
elseprintf(“fou!
题型9高次方程得根
eg9、1用二分迭代法求解方程y=2x3-4x2+3x-6=0在(-10,10)之间得根,要求精度10-5#include"
math、h"
floatx1=10,x2=-10,x,y,y1;
x=(x1+x2)/2;
y=2*x*x*x-4*x*x+3*x-6;
while(fabs(y)>
1e-5)
{y1=2*x1*x1*x1-4*x1*x1+3*x1-6;
if(y*y1>
x1=x;
x2=x;
x=(x1+x2)/2;
y=2*x*x*x-4*x*x+3*x-6;
printf("
therootis%f\n"
x);
eg9、2用牛顿迭代法求解方程2x3+4x2-7x-6=0在x=1、5附近得根,要求精度10-5#include"
main(){
floatx,x0,y,y1;
x=1、5;
while(fabs(x-x0)>
{x0=x;
y=2*x0*x0*x0+4*x0*x0-7*x0-6;
y1=6*x0*x0+8*x0-7;
x=x0-y/y1;
}牛顿迭代公式:
xn+1=xn-f(xn)/f'
(xn)do-while循环结构举例#include"
main(){inti=1,s=0;
do
{s=s+i;
}while(i<
=100);
printf(“%d\n”,s);
for循环结构举例
f1
=100;
i++)s=s+i;
f2
main()
inti,f1,f2,f3;
f1=1;
f2=1;
printf("
%d,%d"
f1,f2);
for(i=3;
=20;
i++)
f3=f1+f2;
%d"
f3);
f3#include"
main()
inti;
floata,max;
scanf("
%f"
&
a);
max=a;
for(i=1;
=9;
{scanf("
if(max<
a)max=a;
%f\n"
max);
f4
inti,s=1;
for(i=9;
=1;
i--)s=2*(s+1);
%d\n"
s);
intx,n=0,s=0;
while(n<
10){
scanf("
%d"
if(x<
0)break;
s+=x;
n++;
s=%d\n"
10)
0)continue;
}printf("
if(x<
s+=x;
inti=2,m;
m);
while(m%i!
if(i==m)
%dshisushu!
\n"
m);
else
%dbushisushu!
inti,m;
for(i=2;
m%i!
=0;
i++);
if(i==m)printf("
{inti,m;
for(i=2;
i<
=m;
i++)
if(m%i==0)break;
elseprintf("
{inti,m,s;
s=sqrt(m);
=s;
if(i==s+1)
inti,j;
for(i=100;
=200;
{for(j=2;
j<
=i;
j++)if(i%j==0)break;
if(j==i)printf("
%-10d"
i);
inti,j,s;
for(i=100;
{s=sqrt(i);
for(j=2;
if(j==s+1)printf("
}}
#include<
include、h>
{inti,j,s;
{s=0;
for(j=1;
j<
i;
j++)if(i%j==0)s+=j;
if(i==s)
%6d\n"
inti,j,k;
for(i=0;
=35;
for(j=0;
j++)
if((i+j==35)&
(2*i+4*j==94))printf("
\ni=%-10dj=%-10d"
i,j);
{inti,j,k;
=19;
=33;
for(k=0;
k<
k++)
if((i+j+k==100)&
(5*i+3*j+k/3==300))printf("
\ni=%-10dj=%-10dk=%-10d"
i,j,k);
k=100-i-j;
if(15*i+9*j+k==300)
{k=100-i-j;
if(5*i+3*j+k/3==100)printf("
{intm,n,k;
for(m=1;
m<
m++)
{for(n=1;
n<
n++)
%d*%d=%-5d"
n,m,n*m);
);
=5;
printf(
'
*******
*\n"
for(j=1;
=5-i;
"
for(i=1;
{for(j=1;
=20-i;
j++)
j++)printf("
*"
{inti,j;
=2*i-1;
{inti,j;
=i-1;
=11-2*i;
=4;
=4-i;
}for(i=1;
=3;
=7-2*i;
{inti,j,k,m,n,s=0;
=2;
for(k=1;
{m=100*i+10*j+k;
n=100*k+10*j+i;
if((n>
2*m)&
(n<
3*m)){s++;
%d"
if(s%8==0)printf("