一、问题描述
我们看到,把数字 0-9 翻倒,有的数字就认不出来了,比如 2、3、4、5、7;有的数字看上去没什么大的变化,比如 0、1、8;还有的数字变成了另一个数,比如 6 变成 9,9 变成 6。
给定一堆数字,请你判别每个数有没有可能是另一个数字翻倒形成的。
二、流程设计
对每个给定的数字,如果它可能是由另一个数字翻倒得来的,就输出那个翻倒前的原始数字;如果不可能,就输出 bu ke neng
。
三、代码实现
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
while(n){
string s;
cin>>s;
int sum=0;
int cnt=0;
for(int i=0;i<s.length();i++){
if(s[i]=='2'||s[i]=='3'||s[i]=='4'||s[i]=='5'||s[i]=='7')
{
cout<<"bu ke neng"<<endl;;
break;
}
else if(s[i]=='6')
{
sum*=10;
sum+=9;
cnt++;
}
else if(s[i]=='9')
{
sum*=10;
sum+=6;
cnt++;
}
else
{
sum*=10;
sum+=s[i]-48;
cnt++;
}
}
if(cnt==s.length())
cout<<sum<<endl;
n--;
}
}
标签:翻倒,数字,int,cin,5.22,打卡,建民 From: https://www.cnblogs.com/cor0000/p/17421305.html