-
嗯,樓上的答案都很好,二樓wals3310100的答案是目前找回文數量的最好方法,下面我再給出另一種考慮方式:
#include
int main()
int a[4],i,j;
std::cout<<"1000 和 9999 之間的對稱性是"j=i/10;
a[1]=j%10;
j=j/10;
a[2]=j%10;
j=j/10;
a[3]=j;
if(a[0]==a[3]&&a[1]==a[2])std::cout
-
我認為寫在三樓的標頭檔案中是可以的。
using namespace std;
返回。 std::endl ;
std::cout ;
std::可以省略,與編譯器有關,v c++可以使用命名空間std;
-
y==x
b=10*b+m
解釋如下:根據這個程式,int rev(int a) 函式的作用是翻轉數字,其中 a 是要翻轉的數字,例如 345,翻轉城市 543,如果是回文數,翻轉後仍然是同乙個數字,例如 121 翻轉後仍然是 121。
因此,y==x,翻轉後是否為同一數,如果是,則該數為回文數。
以及如何進行翻轉,轉到 rev 函式,獲取數字的每個位上的數字,然後重新組裝。 m=a%10;這是為了獲得個位數的數字,a=a 10; 這是十位數字上的數字。 A 是兩位數的迴圈,如果 a 是兩位數,則迴圈就足夠了; 如果 a 是三位數,則 a = a 10; 該操作再次製作乙個兩位數,因此重複上述操作得到百位數字,最後重新組合得到 b,即翻轉的數字。
例如,如果以數字 345 為例,則 ->m=5;
>a=34;
>b=5;
4.因為 a=34!=0,所以再次執行迴圈。
>m=4;
>a=3;
>b=54;
8.因為 a=3!=0,所以重新執行迴圈。
>m=3;
>a=0;
>b=543;
12.因為 a=0,它跳出迴圈,返回 b=543,翻轉成功!
如樓上所說,int m,b=0; 如果未賦值 b,則無法執行 b=10*b+m。 因此,程式將報告錯誤。
-
y==x
b=10*b+m - 但宣告行必須改為 int m, b=0; 否則,會出問題!
放置這兩個單選按鈕屬性設定為相同。 這樣,他們就可以實現單選,確定自己的選擇狀態,選擇哪乙個,並將哪個文字值寫入語句中。
我沒有經驗,但我有一點經驗。 程式設計是乙個練習、讀書和練習的問題。 卓越的實踐是鐵定的。 動手練習和程式設計之間的關係就像著名拳擊手的拳頭和著名歌手的音樂。