蓝桥杯2017年第八届C/C++省赛C组第七题-Excel地址

题目描述

蓝桥杯2017年第八届C/C++省赛C组第七题-Excel地址_第1张图片
蓝桥杯2017年第八届C/C++省赛C组第七题-Excel地址_第2张图片

源代码

这道题还是比较有技巧性的。
利用栈来进行存储
如果想到这个思路,问题就变得非常简单了
其中要注意的一个点就是,
对于数字如果是26,则应该输出z,这里我们就要进行一下判断了,使得while提前跳出循环,否则26/26=1,又进入了循环

#include 
#include 
#include 
#include 

using namespace std;

string zimu="ZABCDEFGHIJKLMNOPQRSTUVWXY";
stack<char> ans;
int main()
{
    int n;
    cin>>n;
    while (n){
        ans.push(zimu[n%26]);
        if(n%26==0) n--;
        n/=26;
    }
    while (!ans.empty()){
        cout<<ans.top();
        ans.pop();
    }
    return 0;
}

你可能感兴趣的:(蓝桥杯,#,2017年第八届省赛,蓝桥杯)