【思特奇杯·云上蓝桥-算法集训营】第1周(第八题:excel 地址)(出错)

excel 地址

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<stdio.h>
#include<math.h>
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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值