解题思路:分类
注意事项:[1,9] [10,26] (26,oo)
参考代码:
#include<stdio.h>
int main()
{
char s[200010];
gets(s);
int i = 0;
while(s[i]){
int t = 0;
if(s[i+1]){
t = (s[i]-'0')*10+s[i+1]-'0';
}
else
t = s[i]-'0';
if(t >= 1 && t <= 9){
printf("%c",t+'A'-1);
i = i+1;
}
else if(t > 26){
printf("%c",s[i]+16);
i = i+1;
}
else{
if(t == 10){
printf("%c",t+'A'-1);
}else if (s[i+2] == '0' &&(t == 11||t==12||t==21||t==22)){
printf("%c",t/10+'A'-1);
i = i+1;
}else{
printf("%c",t+'A'-1);
i = i+2;
}
}
}
}
0.0分
2 人评分
#include<stdio.h> int main() { char s[200010]; gets(s); int i = 0; while(s[i]){ int t = 0; if(s[i+1]){ t = (s[i]-'0')*10+s[i+1]-'0'; } else t = s[i]-'0'; if(t >= 1 && t <= 9){ printf("%c",t+'A'-1); i = i+1; } else if(t > 26){ printf("%c",s[i]+16); i = i+1; } else{ printf("%c",t+'A'-1); i = i+2; } } }
华亿 2024-02-07 14:50:01 |
看不懂为甚么要把11,12,21,22单列出来,删掉也可以运行
C语言训练-斐波纳契数列 (C语言代码)浏览:1271 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:2098 |
众数问题 (C语言代码)浏览:911 |
printf基础练习2 (C语言代码)浏览:690 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:573 |
C语言训练-亲密数 (C语言代码)浏览:697 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:821 |
A+B for Input-Output Practice (VI) (C语言代码)浏览:575 |
C二级辅导-等差数列 (C语言代码)浏览:806 |
小O的数字 (C++代码)浏览:806 |