例:用戶輸入一個數,判斷是否為回文數。
回文數:設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)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不是回文數
運行結果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是回文數
運行結果總結
(1)利用while循環以此拆分數字,進行累加。
(2)利用if語句對輸入的數字,和拆解後累加的數字進行判斷。
(3)利用取餘(%),除法(/)對數字進行拆解累加。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!