求助没人回复咋办
  • 板块灌水区
  • 楼主landernal
  • 当前回复10
  • 已保存回复10
  • 发布时间2022/2/9 12:13
  • 上次更新2023/10/28 09:19:27
查看原帖
求助没人回复咋办
521302
landernal楼主2022/2/9 12:13

急求

#include <iostream>

using namespace std;
char a[101], b[1001];
int lena, lenb;
void f(char a, char b, char ans, int p) {
    if(p == 0) {
        if(b >= 'a' && b <= 'z') {
            if(a - 'a' - 1 >= b - 'a') {
                char ans = 'z' - (b - 'a' - (a - 'a' - 1));
                cout << ans;
            }else{
                cout << ans;
            }
        }else{
            if(a - 'a' - 1 >= b - 'a') {
                char ans = 'Z' - (b - 'A' - (a - 'a' - 1));
                cout << ans;
            }else{
                cout << ans;
            }
        }
    }
    if(p == 1) {
        if(b >= 'a' && b <= 'z') {
            if(a - 'a' - 1 >= b - 'a') {
                char ans = 'z' - (b - 'a' - (a - 'A' - 1));
                cout << ans;
            }else{
                cout << ans;
            }
        }else{
            if(a - 'A' - 1 >= b - 'A') {
                char ans = 'Z' - (b - 'A' - (a - 'A' - 1));
                cout << ans;
            }else{
                cout << ans;
            }
        }
    }
}
int main(){
    cin >> a;
    cin >> b;
    for(int i = 0; i <= 100; i++) {
        if(a[i] != 0) {
            lena++;
        }
    }
    for(int i = 1; i <= 1000; i++) {
        if(b[i] != 0) {
            lenb++;
        }
    }
    int j = 0;
    while(lenb > 0) {
        int i = 0;
        while(lena >= i) {
            if(j == lenb) {
                return 0;
            }
            if(a[i] >= 'a' && a[i] <= 'z') {
                char ans =  b[j] - (a[i] - 'a');
                f(a[i], b[j], ans, 0);
            }else{
                char ans =  b[j] - (a[i] - 'A');
                f(a[i], b[j], ans, 1);
            }
            j++;
            i++;
        }
        lenb -= lena;
    }
    cout << endl;
    return 0;
}

2022/2/9 12:13
加载中...