C語言中判斷一個數是否是迴文數

來源:互聯網
上載者:User

註:迴文數即數字順著和反著是同一個數!

看了郝斌老師的C語言視頻,雖然還只看了80多個,但是還是有一些體會,編程應該養成良好的編程風格,至少到現 在為止寫的這些小程式都應該有下面這樣一個過程:

1,流程;(知道程式是按照怎樣的順序啟動並執行)

2,功能;(理解程式的作用)

3,試數;(我個人簡單的理解為測試過程,把自己當作電腦去執行程式)

/*

2012年4月20日 10:36:23

判斷一個數是否是迴文數

*/

#include <stdio.h>

int main(void)

{

int val; //存放待判斷的資料

int m;

int sum = 0;

printf("請輸入您需要判斷的數字:\n");

scanf("%d",&val);

m = val;

/*這一塊是核心代碼塊:

由sum 不斷的從輸入的數中擷取各位、十位、百位……為了得到反數,需要*10並加上下一位作為個位

sum每更新一次,m值去掉最後一位同時更新

*/

while (m)

{

 sum = sum*10 + m%10;

 m /= 10;

}

if (sum == val)

 printf("Yes!\n");

else

 printf("No!\n");

return 0;

}

試數過程(純粹的體力活)

/*

判斷是否是迴文數的試數過程

這裡只測試核心塊

*/

1234

1 -> m = val = 1234; sum = 0 + 1234%10 = 4; m = 1234/10 =123;

2 -> m = 123; sum = 40 + 123%10 = 40+3 = 43; m = 123/10 = 12;

3 -> m = 12; sum = 430 + 12%10 = 432; m = 12/10 = 1;

4 -> m = 1; sum = 4320 + 1%10 = 4321; m = 1/10 = 0;

false

12321

1 -> m = val = 12321; sum = 0 + 12321%10 = 1; m = 12321/10 = 1232;

2 -> m = 1232; sum = 10 + 1232%10 = 12; m = 1232/10 = 123;

3 -> m = 123; sum = 120 + 123%10 = 123; m = 123/10 = 12;

4 -> m = 12; sum = 1230 + 12%10 = 1232; m = 12/10 = 1;

5 -> m = 1; sum = 12320 + 1%10 = 12321; m = 1/10 = 0;

false

查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/C/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.