C++學習 從反序數到迴文數

題目描述:用戶輸入一個數字,構造其反序數,並判斷是否是迴文數。

分析:可以用數組構造,但我正在學習第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條件裏只包含了一條語句...
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章