ブルーブリッジカップ--基礎練習10進数回転16進数

847 ワード

問題の説明
16進数は、プログラム設計時によく使われる整数の表現です.0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,Fの16シンボルで,それぞれ10進数の0から15を表す.16進数のカウント方法は満16進1であるため、10進数16は16進数で10であり、10進数の17は16進数で11であり、このように10進数の30は16進数で1 Eである.非負の整数を与え、16進数の形式で表す.
入力フォーマット
入力には、変換する数を表す非負の整数aが含まれます.0<=a<=2147483647
出力フォーマット
この整数の16進数表現を出力します
サンプル入力
30
サンプル出力
1 E注意:詳細な注意問題はデータ範囲を与えて、特に境界の値を取ることに注意して、0の原因が大きく間違っているためしばらくしてやっと発見しました.コード:
#include <iostream>
using namespace std;
int main()
{
	long long int n;
	cin>>n;
	char s[100];
	int i=0;
	if(n==0)
	cout<<0<<endl;
	else
	{
	while(n)
	{
		int temp=n%16;
		if(temp>=10)
		{
			s[i]=temp-10+'A'; 
		}
		else
		s[i]=temp+'0';
		n/=16;
		i++;
	}
	for(int j=i-1;j>=0;j--)
	 cout<<s[j];
	 
    }
    cout<<endl;
	 return 0; 
}