while循环举例
1. 菲波拉契序列
2. 求回文数
/* 示例代码 菲波拉契序列 **
* 1 2 3 5 8 13 21 34 **
* 时间 2015-8-3 21:03 **/
# include <stdio.h>
int main()
{
int f1, f2, f3;
int i, n;
f1 = 1;
f2 = 2;
printf("请输入一个整数:");
scanf("%d", &n);
if (1 == n)
{
f3 = 1;
}
else if (2 == n)
{
f3 = 2;
}
else
{
for (i = 3; i <= n; i++)
{
f3 = f1 + f2;
f1 = f2;
f2 = f3;
}
}
printf("%d\n", f3);
system("pause");
return 0;
}
/*
程序流程:
-----------------------------
输入 n = 5
第一次循环 i=3 ,i<=5,成立
f3=1+2;f1=2;f2=3;
i++=4;循环结束
第二次循环 i=4 ,i<=5,成立
f3=2+3;f1=3;f2=5;
i++=5,循环结束
第三次循环 i=5 ,i<=5,成立
f3=3+5;f1=5;f2=8;
i++=6,循环结束
第四次循环 i=6;i<=5,不成立
for语句结束
-----------------------------
要点总结:
-----------------------------
程序是从n=3的时候开始循环的,
直到循环到输入的n时才结束
-----------------------------
*/
/* 示例代码 求输入的数是否是回文数 **
* 时间 2015-8-3 21:33 **/
# include <stdio.h>
int main()
{
int val;
int m;
int sum = 0;
printf("请输入一个整数:");
scanf("%d", &val);
m = val;
while (m)
{
sum = sum*10 + m % 10;
m /= 10;
}
if (sum == val)
printf("yes!\n");
else
printf("no!\n");
system("pause");
return 0;
}
/*
流程分析:
----------------------------
输入 val = 121
while ()循环:
1>> m=121,成立
sum=0+121%10=1
m/10=12
2>> m=12,成立
sum=1*10+12%10=12
m/10=1
3>> m=1,成立
sum=12*10+1%10=121
m/10=0
4>> m=0,不成立
----------------------------
*/
联系客服