题意 :十进制转换为十六进制
学姐的代码------
#include<stdio.h> #include<string.h> #include<cctype> char a[100000]; void dfs(int x)//递归 { if(x<=0) return; x--; dfs(x/26); printf("%c",x%26+‘A‘); } int main() { int t; scanf("%d",&t); while(t--) { scanf("%s",a); int x,y; if(sscanf(a,"%*c%d%*c%d",&x,&y)==2)//sscanf() - 从一个字符串中读进与指定格式相符的数据 { dfs(y); printf("%d\n",x); } else { int l=strlen(a); int x=0,y=0; for(int i=0;i<l;i++) if(isalpha(a[i]))//判断字符ch是否为英文字母,若为小写字母,返回2,若为大写字母,返回1。若不是字母,返回0。 x=x*26+a[i]-‘A‘+1; else y=y*10+a[i]-‘0‘; printf("R%dC%d",x,y); } } return 0; }
//(sscanf用法详解)
http://baike.baidu.com/link?url=O-irV7__VsbhhkH44oWrkatjy42bTyK_OixjQtfuYMYcDRWZUgEBHwuuLtvMQhJLocQMgeZtTOEsQ9Mcy4HjBa
时间: 2024-10-12 18:17:58