while循环语句例子(C语言中while的用法)
例:用户输入一个数,判断是否为回文数。
回文数:设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数,例如:121,12321
代码示例
#include<stdio.h>intmain(void){ intnum; intn; intsum = 0; printf("请输入需要判断的数字:"); scanf("%d",&num); n = num; while(n){ sum = sum*10+ n%10; n /= 10; } if(sum == num){ printf("%d是回文数n",num); } else{ printf("%d不是回文数n",num); } return0; }
运行分析
1.测试数字256,执行while循环
(1)n=256,while循环成立
sum=0*10+256%10=6
n=n/10=256/10=25
(2)n=25,while循环成立
sum=6*10+25%10=65
n=n/10=25/10=2
(3)n=2,while循环成立
sum=65*10+2%10=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不是回文数
运行结果
2.测试数字121,执行while循环
(1)n=121,while循环成立
sum=0*10+121%10=1
n=n/10=121/10=12
(2)n=12,while循环成立
sum=1*10+12%10=12
n=n/10=12/10=1
(3)n=1,while循环成立
sum=12*10+1%10=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是回文数
运行结果
总结
(1)利用while循环以此拆分数字,进行累加。
(2)利用if语句对输入的数字,和拆解后累加的数字进行判断。
(3)利用取余(%),除法(/)对数字进行拆解累加。