建民打卡日记5.22

发布时间 2023-05-22 17:51:30作者: cor0000

一、问题描述

我们看到,把数字 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--;
    }
}