分析问题
判断一个六位数是否对称,即正过来和倒过来是同一个数,也就是个位=十万位;十位等于万位;百位等于千位;
建立模型
方法一:
输入六位整数 num
将 num 转换为字符串 str_num如果 str_num 的第一个字符等于第六个字符
且 str_num 的第二个字符等于第五个字符
且 str_num 的第三个字符等于第四个字符
是对称数 则输出 “Y”
否则
不是对称数 输出 “N”方法二:
输入六位整数 num
定义六个变量分别表示十万、万、千、百、十、个位比较 个位=十万位、十位等于万位、百位等于千,如果相等:
则
是对称数,输出”Y”
否则
不是对称数,输出”N“
编写代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
int g, s, b, q, w, sw;
g = n % 10;
s = n / 10 % 10;
b = n / 100 % 10;
q = n / 1000 % 10;
w = n / 10000 % 10;
sw = n / 100000 % 10;
if(g==sw && s==w && b==q){
cout<<"Y";
}else{
cout<<"N";
}
return 0;
}