例:用户输入一个数,判断是否为回文数。

回文数:设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数,例如:121,12321

代码示例

#include<stdio.h> int main(void){ int num; int n; int sum = 0; printf("请输入需要判断的数字:"); scanf("%d",&num); n = num; while(n){ sum = sum*10 n; n /= 10; } if(sum == num){ printf("%d是回文数\n",num); } else{ printf("%d不是回文数\n",num); } return 0; }

运行分析1.测试数字256,执行while循环

(1)n=256,while循环成立

sum=0*10 256=6

n=n/10=256/10=25

(2)n=25,while循环成立

sum=6*10 25=65

n=n/10=25/10=2

(3)n=2,while循环成立

sum=65*10 2=652

n=n/10=2/10=0

(4)n=0,while循环不成立,结束循环,此时sum的值为652

while循环执行完毕,执行if语句判断

(1)if(sum == num),此时sum=652,num=256,因此if不成立,输出256不是回文数

运行结果

c语言while循环的顺序(C语言while循环小实例)(1)

2.测试数字121,执行while循环

(1)n=121,while循环成立

sum=0*10 121=1

n=n/10=121/10=12

(2)n=12,while循环成立

sum=1*10 12=12

n=n/10=12/10=1

(3)n=1,while循环成立

sum=12*10 1=121

n=n/10=1/10=0

(4)n=0,while循环不成立,结束循环,此时sum=121

while循环执行完毕,执行if语句

(1)if(sum==n),此时sum=121,n=121,因此if成立,打印输出121是回文数

运行结果

c语言while循环的顺序(C语言while循环小实例)(2)

总结

(1)利用while循环以此拆分数字,进行累加。

(2)利用if语句对输入的数字,和拆解后累加的数字进行判断。

(3)利用取余(%),除法(/)对数字进行拆解累加。

,