** 我的**出了一些奇怪的問題,本來我用來儲存結果的陣列逐個輸出的話和樣例結果是一樣的,但是到最後把陣列裡面的數組合成為乙個數時卻少了個1**
這裡是**執行的結果,其中**後面的單個資料是儲存結果陣列res的值。
我對res陣列做了res=res+x[i]*pow(16,length-i-1)操作後,為什麼少了乙個1???
希望各位大佬幫忙解決!!!
#include
#include
#include
int res[
100]=;
intgetwei
(int x,
int length)
return res;
}int
get_eight
(int x)
num=i;
for(j=
0;jres[i]=0;
while(res[j]!=0)
*/return re;
}int
main()
;//權位積之和
int re=0;
//int flag=0;
//輸入部分
scanf
("%d"
,&n)
;getchar()
;int six[n]
[100];
//存放十進位制的int資料
int eight[n]
[100];
int length[n]
;//長度
for(i=
0;i)for
(j=0
;j(str[j]
[k]>=
'a'&& str[j]
[k]<=
'f')
k++;}
length[j]
=k;}
//十進位制得出權位積之和
for(i=
0;i)for
(i=0
;i)return0;
}
基礎訓練 十六進製制轉八進位制
輸入的第一行為乙個正整數n 1 n 10 接下來n行,每行乙個由09 大寫字母af組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過100000。輸出n行,每行為輸入對應的八進位制正整數。輸入的十六進製制數不會有前導0,比如012a。輸出的八進位制數也不能有前導0。在這裡給出一組輸...
十六進製制轉八進位制 藍橋
問題描述 給定n個十六進製制正整數,輸出它們對應的八進位制數。輸入格式 輸入的第一行為乙個正整數n 1 n 10 接下來n行,每行乙個由0 9 大寫字母a f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過100000。輸出格式 輸出n行,每行為輸入對應的八進位制正整數。注意 輸...
藍橋杯基礎十六進製制轉八進位制
給定n個十六進製制正整數,輸出它們對應的八進位制數。輸入的第一行為乙個正整數n 1 n 10 接下來n行,每行乙個由09 大寫字母af組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過100000。輸出n行,每行為輸入對應的八進位制正整數。注意 輸入的十六進製制數不會有前導0,比如...