
8题 excel 地址 时间限制:1.0s 内存限制:256.0MB 问题描述 Exce濿 单元格的地址表示很有趣,它使用字母来表示列号。 比如, A 表示第 1 列, B 表示第 2 列, Z 表示第 26 列, AA 表示第 27 列, AB 表示第 28 列, BA 表示第 53 列,
.... 当然 Exce濿 的最大列号是有限度的,所以转换起来不难。 如果我们想把这种表示法一般化,可以把很大的数字转换为很长的字母序列 呢? 本题目即是要求对输入的数字, 输出其对应的 Exce濿 地址表示方式。
样例输入 26 样例输出 Z 样例输入 2054 样例输出 BZZ
就是26进制
#include#include int main() { int r; char sc; int z=27; int i=0; int x; char y; char b[26]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','v','W','X','Y','z'}; scanf("%d",&r); int e=r; if(r>26&&z>26) { z=x/26; r=r/26; i++;}//求最高次幂i// x=i; int a[i]; while(i>=0) { a[i]=e/pow(26,i); int s=pow(26,i); e=e-a[i]; i--; }//求每一位的数字// while(x>=0) { z=b[a[i]];//转换成字母// printf("%c",z); x--; } }
好像出了点问题。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)