用while斷定輸出的數字能否回文數的簡略完成。本站提示廣大學習愛好者:(用while斷定輸出的數字能否回文數的簡略完成)文章只能為提供參考,不一定能成為您想要的結果。以下是用while斷定輸出的數字能否回文數的簡略完成正文
/*
Name:用while斷定輸出的數字能否回文數
Copyright: By.不懂收集
Author: Yangbin
Date:2014年2月18日 04:29:07
Description:用while斷定用戶輸出的數字能否回文數,是回文數前往YES!不然NO!
*/
# include <stdio.h>
int main(void)
{
int m,val,sum = 0;
printf("請輸出一個回文數,假如是回文數前往YES,不然前往No:");
scanf("%d",&val);
m = val;
while(m)
{
sum = sum*10+m%10;
m/= 10;
}
if(sum == val)
printf("YES\n");
else
printf("NO\n");
}
/*
----------------------
該代碼由C-Free 5.0 編寫並輸入調試成果
-----輸入成果-----
請輸出一個回文數,假如是回文數前往YES,不然前往No:1221
YES
------總結------
在不會寫此代碼時,看他人怎樣寫,以後弄懂這個代碼的意思;
此代碼重要是對while停止一個流程的盤算。
*/
//對while語句停止流程剖析
//假定用戶輸出數字121,斷定能否回文數,m非0是真,不然為假,為真輸入YES,假輸入No;
1--->sum = sum*10+m%10 (sum = 0*10+121%10)//sum=0+1,sum=1
m / = 10(m=m/10)//m=121/10,m=12
2--->sum = sum*10+m%10(sum=1*10+12%10)//sum=10+2,sum=12
m / 10 =10(m=m/10) //m=12/10,m=1
3--->sum = sum*10+m%10(sum=12*10+1%10)//sum=120+1,sum=121
m / 10 =10(m=m/10) //m=1/10,m=0
m = 0為假,則輸入No