/*
問題描述
123321是乙個非常特殊的數,它從左邊讀和從右邊讀是一樣的。
輸入乙個正整數n, 程式設計求所有這樣的五位和六位十進位制數,滿足各位數字之和等於n 。
輸入格式
輸入一行,包含乙個正整數n。
輸出格式
按從小到大的順序輸出滿足條件的整數,每個整數佔一行。
樣例輸入
52樣例輸出
899998
989989
998899
資料規模和約定
1<=n<=54。
*//*
1.針對此題:給定範圍如何求解回文數?
待解決---
2.理論補充:第二節 解密回文--棧
棧的實現:一維陣列和乙個指向棧頂的top變數即可 (刪除和插入操作)
回文字串:xyyx xyzxy
判斷是否為回文字元符串:程式見下
常用來驗證括號匹配問題,圖靈發明~
**************************************
1.讀入字串:
int s[101];
gets(s);
2.計算字串陣列的長度
#includestrlen(arr);
3.語言商的規定:
保持運算元中精度最高的型別
5/2=2
5.0/2=2.5
4.迴圈注意 :
變數累加得次數
i=0 i<10 ;迴圈10次
i=0 i<=10;迴圈11次
不要隨意在迴圈區域中改變迴圈變數的值
5.編寫經驗:模組測試精確到每一步得確定
6.適當位置加break減少迴圈次數
7.++top
==top++
top--
8.中英文轉換:
(( (( 中文字元佔兩個單位
*/#include
#include
int main()
//top--;//操作蹩腳
//判斷字串
for(i=mid;iprintf("\nmid = %d\n arr[%d]=%c s[%d]=%c \n",mid,i,arr[i],top,s[top]);
/* if(arr[i]==s[top])*/
//妙處2:使用break減少迴圈次數;
if(arr[i]!=s[top])
top--;
} //top++;//操作蹩腳
printf("top = %d (==0)",top);
if(top==0)else
return
0; /*
回文數的思想簡單
妙處是的是判斷使用棧的top指標始終指向上乙個棧頂空位置
for(i=0;i}
詳解C語言之堆疊
目錄 a.堆疊是一種特殊的線性表 b.堆疊的資料元素以及資料元素間的邏輯關係和線性表完全相同,其不同點是 線性表允許在任意位置插入和刪除資料元素,但堆疊只允許在固定一端進行插入和刪除資料元素,所以棧又稱為 先進後出 filo 或 後進先出 lifo 的線性表 c.堆疊中允許進行插入和刪除資料元素的一...
C語言之完數 素數 回文數合集
1 完全數 perfect number 又稱完美數或完備數,是一些特殊的自然數。它所有的真因子 即除了自身以外的約數 的和 即因子函式 恰好等於它本身。如果乙個數恰好等於它的因子之和,則稱該數為 完全數 第乙個完全數是6,第二個完全數是28,第三個完全數是496,後面的完全數還有8128 3355...
C 利用堆疊判斷回文數
我們稱形如abcdcba,abba這樣的字串為回文字串,本文介紹的是如何利用棧stack的知識來判斷乙個字串是不是回文字串。很久以前寫的了,其實可以呼叫標準庫中的stack來進行棧的各種操作不必這麼麻煩。include include include typedef struct stack sta...