Run ID:28096

提交时间:2022-06-12 20:19:36

#include<iostream> #include<cmath> #include<cstdio> #include<cstring> using namespace std; int main() //主函数入口 { int i = 0,j = 0,k = 0,temp = 0,f1,f2,f3,n = 0; int arr[10000] = {0}; char str2[1000] = {0}; string str1; cin >> f1 >> f2 >> f3; cin >> str1; for(i = 1; i < str1.length(); i++) { temp = 0; memset(str2,0,sizeof(str2)); n = 0; if((str1[i] == '-')&&((str1[i+1]-str1[i-1]) == 1)) str1.erase(i,1); if((str1[i] == '-') && str1[i-1] < 'a' && str1[i+1] >= 'a') { //cout << str1[i+1]<<endl;; continue; } if((str1[i] == '-')&&((str1[i+1]-str1[i-1]) >= 1) && str1[i-1] != '-') { temp = (str1[i+1]-str1[i-1]); str1.erase(i,1); if(f3 == 1) { for(k = 0; k < temp - 1;k++) { for(j = 0;j < f2;j++) { if((f1 == 1) || (f1 == 2) &&(str1[i]<='a')) str2[n++] = str1[i-1] + k + 1; else if((f1 == 2)&&(str1[i]>='a')) str2[n++] = str1[i-1] + k + 1 - 32; else if(f1 == 3) str2[n++] = '*'; } } //cout << str2 << endl;; str1.insert(i,str2); } else { for(k = 0; k < temp - 1;k++) { for(j = 0;j < f2;j++) { if((f1 == 1) || (f1 == 2) &&(str1[i]<='a')) str2[n++] = str1[i] - k - 1; else if((f1 == 2)&&(str1[i]>='a')) str2[n++] = str1[i] - k - 1 - 32; else if(f1 == 3) str2[n++] = '*'; } } //cout << str2 << endl;; str1.insert(i,str2); } } //cout << i <<endl; } cout << str1; return 0; //结束整个程序 }