参加了招行实习面试,自己好菜呀,记录下编程题代码。思路对了,但是一道题没做出来。。。
试题一:镜像回文字符串
描述:如题,一个字符串的倒置与其本身对应。
对应规则:1<~>1
2<~>5
3<~>8
4<~>7
6<~>9
输入规则:第一行输入n,表示一共有几行数据;之后每一行输入一串字符串,字符串默认为只包含1~9的数字。
输入示例:3
1111
69
6996
输出规则:对应每行字符串输出“YES”或者“NO”。
输出示例:YES
YES
NO
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
string a;
int b,c;
int flag=0;
int l;
/*
不能用scanf输入string类型数据,原因是string不是C语言原生的数据类型
使用scanf输入string类型的方法:
a.resize(2); //需要预先分配空间
scanf("%s",&a[0]);
用scanf输入char类型
char c[100];
scanf("%s",c); //这里无需取地址符&
*/
cin>>a;
//cout<<"字符串为:"<<a<<endl;
//printf("输入完成\n");
l=a.length();
//printf("字符长长度为:%d\n",l);
for(int j=0;j<(l/2);j++){
flag=0;
//printf("第%d个数进行判断\n",j);
b=int(a[j])-48;
//printf("b=%d\n",j);
c=int(a[l-j