2
我想將輸入到電子表格column_id中的整數(即 1)轉換爲A,2至B,26至Z,27到AA等等。 我的代碼對於除26的倍數之外的所有輸入都正確運行,並且我無法形成它的邏輯。可能的邏輯是什麼?將整數轉換爲電子表格column_id時出錯(1至'A',2至'B'...)
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int a,n;
string b;
cin>>a;
b="";
while(a){
b+=((a%26)+'A'-1);
a/=26;
}
reverse(b.begin(),b.end());
cout<<b<<"\n";
return 0;
}
輸入 -
26
輸出 -
[email protected]
預期輸出 -
Z
這聽起來像你可能需要學習如何使用調試器來逐步通過你的代碼。使用一個好的調試器,您可以逐行執行您的程序,並查看它與您期望的偏離的位置。如果你打算做任何編程,這是一個重要的工具。進一步閱讀:[如何調試小程序](http://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。你會看到角色不會自動環繞,你必須自己做。 – NathanOliver
問題:26%26的價值是多少? – Mat
......並沿同一行「26/26」?提示:它不是'0'。 – WhozCraig