用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進行一個流程的計算。計算方式將以文本
方式貼到http://www.cnblogs.com/yang-bin和http://www.yangbin.org
*/

        //對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

網絡

相關文章
相關標籤/搜索