🎆音乐分享
Adagio for Summer Wind —— Key Sounds Label
这道题的题目和代码都很长,但是细节满满,值得一写
1001-[NOIP2007]字符串的展开_2021秋季算法入门班第一章习题:模拟、枚举、贪心 (nowcoder.com)
代码
🚥🚥🚥🚥🚥🚥
🏳️🌈🏳️🌈🏳️🌈代码的意思是边输入边输出
#include<stdio.h>
#include<string.h>
int type(char ch){//这一部分很妙
if(ch>='a' && ch<='z') return 1;
if(ch>='A' && ch<='Z') return 2;
if(ch>='0' && ch<='9') return 3;
return 4;
}
int main(){
int p1,p2,p3;
scanf("%d %d %d",&p1,&p2,&p3);
char str[105];
scanf("%s",str);
int len = strlen(str);
for(int i = 0;i<len;i++){
if(str[i+1] == '-' && str[i+2]>str[i] &&(type(str[i+2])==type(str[i]))){
putchar(str[i]);
if(p3 == 1){
for(int j=str[i]+1;j<str[i+2];j++){
for(int k = 0;k<p2;k++){
if(p1 == 1){
if(type(j) == 2) putchar(j+32);
else putchar(j);
}else if(p1==2){
if(type(j) == 1) putchar(j-32);
else putchar(j);
}else{
putchar('*');
}
}
}
}else{
for(int j=str[i+2]-1;j>str[i];j--){
for(int k = 0;k<p2;k++){
if(p1 == 1){
if(type(j) == 2) putchar(j+32);
else putchar(j);
}else if(p1==2){
if(type(j) == 1) putchar(j-32);
else putchar(j);
}else{
putchar('*');
}
}
}
}
i+=1;
}
else//千万别忘了这一行代码
putchar(str[i]);
}
return 0;
}
Code over!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/131388.html