关闭网站怎么不保存我做的更改,人工智能专业,合肥哪家公司做网站,网站开发最佳组合题目链接
分析
这题分为几个函数实现#xff1a;判断是否展开、输出 m m m 次某个字符、循环展开。
坑点
有可能会有几个 - 号连续出现。转换大小写时#xff0c;必须先判断其是否为大小写#xff0c;如果不是才转换。- 号两端如果相等也不行。
代码
#include bi…题目链接
分析
这题分为几个函数实现判断是否展开、输出 m m m 次某个字符、循环展开。
坑点
有可能会有几个 - 号连续出现。转换大小写时必须先判断其是否为大小写如果不是才转换。- 号两端如果相等也不行。
代码
#include bits/stdc.husing namespace std;int n, m, f, l;
string a;bool check(int k) {if (a[k] ! -) {return 0;} if(k 1 || k l) {return 0;} if (a[k - 1] a[k 1]) {return 0;} if (k a[k 1] - || a[k - 1] -) {return false;} if (isdigit(a[k - 1])) {if (!isdigit(a[k 1])) {return 0;}} else if (isdigit(a[k 1])) {if (!isdigit(a[k - 1])) {return 0;}}return 1;
}
void print(char c){for (int i 1; i m; i ) {cout c;}
}
void work(char c){if (n 3) {print(*);} else if (n 2) {if (isdigit(c)) {print(c);} else {if (isupper(c)) {print(c);} else {print(c - a A);}}} else {if (isdigit(c)) {print(c);} else {if (islower(c)) {print(c);} else {print(c - A a);}}}
}
void fill(int k){if (f 1) {for (char c a[k - 1] 1; c a[k 1]; c ) {work(c);}}else {for(char c a[k 1] - 1; c a[k - 1]; c --) {work(c);}}
}int main(){cin n m f a;l a.size();a a;for (int i 1; i l; i ) {if (check(i)) {fill(i);}else {cout a[i];}}return 0;
}