问题标题: 酷町堂:3984 十进制转十六进制

0
0
已解决
张岳恒
张岳恒
资深光能
资深光能
#include<iostream>
#include<cmath>
#include<cstdio>
#include<string>
using namespace std;
int i,k=10;
string a[100001];
int main(){
	int n;
	cin>>n;
	while(n){
		if(n%16<10){
		a[++i]=n%16;
		n/=10; 
		}
		else{
			for(int j=65;j<=70;j++){
				if(n%16==k){
				    a[++i]=(char)(j);
					n/=10;
					k++;
				}
			}
		}
	}
	for(int l=i;l>=1;l--){
		if(a[l]!="")
		cout<<a[l];
	}
	return 0;
}

为什么输出一个□?

求纠错

张岳恒在2020-05-23 12:17:43追加了内容


0
已采纳
董宇昊
董宇昊
初级启示者
初级启示者

4分题收下了

定义一个字符串变量

变量="0123456789ABCDEFGHIJ";

这样你懂了吧

0
0
0
曲天歌
曲天歌
高级光能
高级光能

是不是把a[l]的奥斯科玛强转成char类型了?

0
0
徐子玄
徐子玄
初级光能
初级光能

string p="0123456789ABCDEFGHIJ";

while(n!=0) {  //n为输入整数。

    s=p[n%16]+s;  //s="";

    n/=16;

}

输出s;

AC。。。

0
0
我要回答