[心得] :0.012
1.題目說這個數10進位的值一定小於 231
所以可以用2的31次方數值試看看
2.用long long int宣告 scanf 記得用%lld
3. (網路上別人寫的文章)
字串轉數字
int nValue;
float fValue;
CString szValue = "224";
sscanf(szValue,"%d",&nValue);
szValue = "5.82";
sscanf(szValue,"%f",&fValue); 以上為sscanf()的用法
第一個參數為我們所要轉換的字串
第二個參數則是該字串的格式 如果我們要將他轉成整數 則裡面就是"%d"
如果是要轉浮點數 裡面就是"%f"
轉好的結果就會放在第三個參數所指的位置裡面
特別要注意 第三個參數是要傳入指標 不是傳入數值
#include <stdio.h>
int main()
{
char a[4000];
long long int number;
while(gets(a)!=NULL)
{
if(a[0]=='-') break;
if(a[1]=='x')
{
sscanf(a,"%x" ,&number),
printf("%lld\n", number);
}
else
{
sscanf(a ,"%lld" ,&number),
printf("0x%X\n", number);
}
}
system("pause");
return 0;
}
沒有留言:
張貼留言