第5章 为什么需要循环控制 2
- 例5.5 要求输出100~200的不能被3整除的数
- 例5.6 输出以下4x5的矩阵
- 例5.7 用公式π/4≈1-1/3+1/5+···+1/7+····求π的近似值,直到发现某一项的绝对值小于10∧-6为止(该项不累加)
- 例5.8 求Fibonacci(斐波那契)数列的前40个数。这个数列有如下特点:第1,2两个数为1,1。从第3个数开始,该数是其前面两个数之和。即该数列为1,1,2,3,5,8,13,···,用数学方式表示为F1=1(n=1) F2=1(n=2) Fn=Fn-1+Fn-2(n>=3) 这是一个有趣的古典数学问题:有一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月又生一对兔子。假设所有兔子都不死,问每个月的兔子总数为多少?
例5.5 要求输出100~200的不能被3整除的数
#include<stdio.h>
int main()
{int n;
for(n=100;n<=200;n++)
{if(n%3==0)
continue;
printf("%d",n);
}
printf("\n");
return 0;
}
运算结果如下:
例5.6 输出以下4x5的矩阵
#include<stdio.h>
int main()
{
int i,j,n=0;
for(i=1;i<=4;i++)
for(j=1;j<=5;j++,n++)
{if(n%5==0) printf("\n");
printf("%d\t",i*j);
}
printf("\n");
return 0;
}
运算结果如下:
例5.7 用公式π/4≈1-1/3+1/5+···+1/7+····求π的近似值,直到发现某一项的绝对值小于10∧-6为止(该项不累加)
#include<stdio.h>
#include<stdio.h>
int main()
{
int sign=1;
double pi=0.0,n=1.0,term=1.0;
while(fabs(term)>=1e-6)
{
pi=pi+term;
n=n+2;
sign=-sign;
term=sign/n;
}
pi=pi*4;
printf("pi=%10.8f\n",pi);
return 0;
}
运算结果如下:
例5.8 求Fibonacci(斐波那契)数列的前40个数。这个数列有如下特点:第1,2两个数为1,1。从第3个数开始,该数是其前面两个数之和。即该数列为1,1,2,3,5,8,13,···,用数学方式表示为F1=1(n=1) F2=1(n=2) Fn=Fn-1+Fn-2(n>=3) 这是一个有趣的古典数学问题:有一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月又生一对兔子。假设所有兔子都不死,问每个月的兔子总数为多少?
#include<stdio.h>
int main()
{
int f1=1,f2=1,f3;
int i;
printf("%12d\n%12d\n",f1,f2);
for(i=1;i<=38;i++)
{
f3=f1+f2;
printf("%12d\n",f3);
f1=f2;
f2=f3;
}
return 0;
}
运算结果如下: