1樓:
#include
int power(int x,int n);
void main()
cout<<"轉化成十進位制是:"<
}int power(int x,int n)我除錯過了,沒有錯誤,結果正確,我的程式要求輸入的是8位。
2樓:ad饕饕不絕
#include
char he[105];
void main()
//每次乘16 ,如果是k進位制就乘k
3樓:匿名使用者
int x;
scanf("%x",&x);
...printf("%d",x);
4樓:謝禮官
付費內容限時免費檢視
回答根據你的問題,你的**中就只有一個change函式沒有實現,具體實現方法有多種形式,我這裡選擇我認為最簡單的一種方式將其實現如下:
int change(char *hx)
將該函式放到你的main函式的前面即可。
提問可我敲了**並不能執行出來
你人呢更多8條
5樓:聖文介幻露
#include
"stdio.h"
main()
d[i]='\0';
/*陣列最後一個元素賦』\0』
*/dec=htod(d);
/*呼叫轉換函式*/}
printf("the
decimal
number
is%ld\n",dec);
printf("continue?
y/n");
scanf("%2c",&loop);}}long
htod(charde)
c語言:寫一函式,輸入一個十六進位制數,輸出相應的十進位制數。
6樓:問明
#include
#include
#include
int main()
char a[10];
void convert(char a);
printf("請輸入十六進位制數:");
gets(a);//輸入十六進位制數
convert(a);
return 0;
void convert(char a)
int n,i,num=0;
n=strlen(a);
for(i=n-1;i>=0;i--)
if(a>='0'&&a<='9')
num+=(a-'0')*pow(16,n-1-i);
else if(a>='a'&&a<='z')num+=(10+(a-'a'))*pow(16,n-1-i);
else if(a>='a'&&a<='z')num+=(10+(a-'a'))*pow(16,n-1-i);
printf("轉換十進位制為:");
printf("%d",num);
7樓:匿名使用者
#include
#include
void main()
void fun(char array[100]){int sum=0,i;
for(i=0;i
8樓:子同
#include
#include
#define n 100
void main()
int fun(char *array)
return sum;
}執行結果
9樓:風若遠去何人留
有幾個問題
一個是函式宣告不對
函式呼叫有問題
判斷數值臨界不準,沒有包含==的情況
演算法可以寫的簡單一點
最終優化如下
#include
#include
void main()
void fun(char array[100])printf("%d",sum);}
10樓:凌空血舞
double fun(u8 *array)
return sum;}
寫一個函式,輸入一個十進位制數,輸出相應的十六進位制數
11樓:讕股縛
#include"stdio.h"main()d[i]='\0';/*陣列最後一個元素賦』\0』*/dec=htod(d);/*呼叫轉換函式
12樓:謝禮官
回答根據你的問題,你的**中就只有一個change函式沒有實現,具體實現方法有多種形式,我這裡選擇我認為最簡單的一種方式將其實現如下:
int change(char *hx)
將該函式放到你的main函式的前面即可。
提問可我敲了**並不能執行出來
你人呢更多8條
c語言 寫一個函式 輸入一個十六進位制數 輸出相應的十進位制
13樓:萬能導師
#包括< stdio, h >
h#包括< math.h >
# include < string。h >
intmain()
char[10]。
void轉換(char[]a);
printf(「輸入十六進位制數:」);
(一);輸入一個十六進位制數
轉換(a);
返回0;
void轉換(char[]a)
intn,i,num=0;
n=strlen(a);
對於(i = n - 1;i > = 0;我)
如果(a < i > > = '0' & a < i > < = '9')
num + = (a < i > - '0') * pow (16, n - 1 - i);
否則(a < i > > = 'a' && a < i > < = 'z')
num + =(10 +(《我》 - a)) *戰俘(16 n - 1 - i);
否則(a < i > > = 'a' && a < i > < = 'z')
num + =(10 +(《我》 - a)) *戰俘(16 n - 1 - i);
printf(「將小數轉換為:」);
printf("%d",num);
14樓:匿名使用者
1、一個數的每一位都有一個權值,例如十進位制數2039,它可以表示為:2*10^3+0*10^2+3*10^1+9*10^0。那麼任何進位制的數都一樣,例如16進位制數8a30e,它就是8*16^4+10*16^3+3*16^2+0*16^1+14*16^0=566030,算出來的值就是這個數對應的十進位制數。
又例如k進位制數abcdef(這是一個6位數),它就是a*k^5+b*k^4+c*k^3+d*k^2+e*k^1+f*k^0。
2、例程:
#include
int main()
int shiliu(char *x)
return (n);}
15樓:匿名使用者
首先解釋你的函式部分 exchange(char a):
語句 if((a[i]>='0')&&(a[i]<='9')) n=n*16+a[i]-'0';
因為16進位制的整數基數位為0,1,2***,9,a,b,c,d,e,f總共16個字元,從10-15為字元型(字元部分不區分大小寫)。因此要進行數制轉換就首先要將字元轉換成對應的資料,即將字元後自帶的 \0字元去掉。
flag和flag1的作用是標記資料轉換是否正常進行
16樓:匿名使用者
將你以字元形式輸入的16進位制數逐位換算為10進位制,其實它的功能就是實現下面這個表
0 -》0
1 -》1.。
。a -》10
b -》11.。
。f -》15
17樓:小花
/*寫一個函式,輸入一個十六進位制數,輸出相應的十進位制數。*/#include
#include
#include
int main()
void turn(char n)
else if(n[i]>='a'&&n[i]<='f')else if(n[i]>='a'&&n[i]<='f')}printf("%d\n",s);}
18樓:鷹弈
flag,flag1是標誌變數,主要用於控制迴圈,比如說
if(flag)a=100;
flag=1,條件為真,繼續執行內的語句,在執行a=100;
flag=0,條件為假,不執行{}內的語句,直接執行a=100;
a[i]表示0,1,...,e(e),f(f)的acsii碼,a[i]='a(a)',a[i]-'a(a)'的意思是將char轉變為int,舉個例子:
a[i]=『a』,字元a的acsii碼是65,那麼a[i]-『a』+10=10(int);
a[i]=『b』,字元b的acsii碼是66,那麼a[i]-『a』+10=11(int);
...a[i]=『0』,那麼a[i]-'0'=0(int);
a[i]='1',那麼a[i]-'0'=1(int);
...if((a[i]>='0')&&(a[i]<='9')) n=n*16+a[i]-'0';
if((a[i]>='a')&&(a[i]<='f')) n=n*16+a[i]-'a'+10;
if((a[i]>='a')&&(a[i]<='f')) n=n*16+a[i]-'a'+10;
這就是十六轉十的一種方法,你記住就行了,不用過多的追究。
19樓:匿名使用者
#include
#define n1 1000
void main()
else if(flag==1)}}
}int exchange(char a)return(n);}
c語言寫一個函式,輸入一個十六進位制數,輸出相應的十進位制數
20樓:蓉雪球
反問你一復
個問題:如果你輸入
制的是baiint型,那麼怎麼會有字元型的出來呢du?
可以參考一zhi下別人寫的代
dao碼:
#include
#include
void main()
void fun(char array[100]){int sum=0,i;
for(i=0;i
21樓:匿名使用者
不用轉換copy直接輸出就可
以了int main()
22樓:淦秀榮義雁
intmain()
//朋友說下,du
你那個進位制轉換函式,zhi要麼輸出十進位制數的每一位,dao要麼返回十進位制啊
23樓:陀樹枝農卿
整個就這麼長……
#include
"stdafx.h"
#include
"stdio.h"//
void
main(void)
24樓:禮染莫未
說明trans()
函式bai
應該返回n
(return
n;)du
intmain()
25樓:匿名使用者
#include
void main( void )
執行結果:
enter an hex number :
0xffff
the decimal number is: 65535請按任意鍵回繼續
答. . .
26樓:江偉
/*按要求,輸入輸出都在子函式中進行*/
#include
void fun(void)
int main(void)
27樓:
int lox_16,lox_10;
cin>>hex>>lox_16; //c中用(來scanf())輸入的是4位16進位制
源數bai
du//將16進位制數轉換為10進位制數 注意lox_16已經為16進位制數
lox_10=lox_16/1000*pow(10,3)+lox_16/100%10*pow(10,2)+lox_16%100/10*pow(10,1)+lox_16%10*pow(10,0); //lox_16 是4位的,zhi
不是4位,可以自己以dao這種形式編一個迴圈
關於printf函式輸出十六進位制數和八進位制數的問題
滿意請採納喲 1 如果使用變數名a和b來進行操作的話,則實際上我們使用的是變數a,b中存放的值,而printf函式也恰恰只是想把a,b的值輸出到顯示卡,最終由顯示卡顯示出來,所以不需要加字首 2 scanf之所以需要字首是因為,當使用 a,b的時候,此時使用的是a,b的地址,而scanf也恰恰是想要...
什麼是「十六進位制」,什麼是十六進位制數的標準表示方法
要想學漢化就必需要懂得十六進位制!下面是幾種進位制的計算方式 十進位制 有10個基數 0 9 逢十進一 二進位制 有2 個基數 0 1 逢二進一 八進位制 有8個基數 0 7 逢八進一 十六進位制 有16個基數 0 9,a,b,c,d,e,f a 10,b 11,c 12,d 13,e 14,f 1...
C語言中十六進位制數,C語言 十六進位制怎麼輸出?
嗯,沒聽懂什麼意思。c語言中的十六進位制數用0x表示十六進位制數。比如說,0x20表示的就是十六進位制數20 若在彙編中則表示為 20h 二進位制數表示為 00100000b 十進位制即為,0 16 0 2 16 1 32 整型資料的十六進位制數表示,unsigned int hex val 0x1...