題目描述:用戶輸入一個數字,構造其反序數,並判斷是否是迴文數。
分析:可以用數組構造,但我正在學習第2章:表達與運算,因此用計算的方式構造反序數。
代碼:
#include<iostream>
using namespace std;
int main()
{
int a,d,copy;
int b=0,flag=0;
cout<<"請輸入一個數:"<<endl;
cin>>a;
copy=a; //記錄a的值
while(a>0) //計算反序數
{
d=a%10;
b=b*10+d;
a=a/10;
}
cout<<"反序數爲:"<<b<<endl;
if(b==copy)
{
flag=1;
}
cout<<"迴文數:"<<flag<<endl;
return 0;
}
- 一開始犯了兩個錯誤:
(1)忘記初始化b=0,後面直接用到了b=b*10+d。
(2)忘記用變量copy保存用戶輸入的值,後面直接判斷if(a==b)。
- 這個程序一編譯就會被360當做木馬病毒...可能是因爲if條件裏只包含了一條語句...