如何用C语言将一个16进制数转换成10进制数,要求用函数。
7个回答
展开全部
我自己编写的一个函数。
楼上的根本没达到目的。赋值语句实现纯粹是投机取巧。考试肯定为0分。
下面是程序源代码
#include<stdio.h>
void
shuchu(int
c)
//这个函数不用编写,可以直接在zhs函数里面用语句写的//
{
c=c%16;
if(c>=0&&c<=9)
{c=c+48;
putchar(c);
}
else
{
c=c+87;
putchar(c);
}
}
void
zhs(int
c)
{
if(c<=15)
shuchu(c);
else
{
zhs(c/16);
shuchu(c);
}
}
void
main()
{
int
n;
printf("please
enter
a
number:\n");
scanf("%d",&n);
printf("zhuan
huan
hou
de
16jinzhi
shushi
:\n");
zhs(n);
printf("\n");
}
不好意思弄错了这是一个十进制转换到16进制的问题。我重新帮你写一个。
楼上的根本没达到目的。赋值语句实现纯粹是投机取巧。考试肯定为0分。
下面是程序源代码
#include<stdio.h>
void
shuchu(int
c)
//这个函数不用编写,可以直接在zhs函数里面用语句写的//
{
c=c%16;
if(c>=0&&c<=9)
{c=c+48;
putchar(c);
}
else
{
c=c+87;
putchar(c);
}
}
void
zhs(int
c)
{
if(c<=15)
shuchu(c);
else
{
zhs(c/16);
shuchu(c);
}
}
void
main()
{
int
n;
printf("please
enter
a
number:\n");
scanf("%d",&n);
printf("zhuan
huan
hou
de
16jinzhi
shushi
:\n");
zhs(n);
printf("\n");
}
不好意思弄错了这是一个十进制转换到16进制的问题。我重新帮你写一个。
展开全部
我自己编写的一个函数。
楼上的根本没达到目的。赋值语句实现纯粹是投机取巧。考试肯定为0分。
下面是程序源代码
#include<stdio.h>
void shuchu(int c) //这个函数不用编写,可以直接在zhs函数里面用语句写的//
{
c=c%16;
if(c>=0&&c<=9)
{c=c+48;
putchar(c);
}
else
{
c=c+87;
putchar(c);
}
}
void zhs(int c)
{
if(c<=15)
shuchu(c);
else
{
zhs(c/16);
shuchu(c);
}
}
void main()
{
int n;
printf("please enter a number:\n");
scanf("%d",&n);
printf("zhuan huan hou de 16jinzhi shushi :\n");
zhs(n);
printf("\n");
}
不好意思弄错了这是一个十进制转换到16进制的问题。我重新帮你写一个。
楼上的根本没达到目的。赋值语句实现纯粹是投机取巧。考试肯定为0分。
下面是程序源代码
#include<stdio.h>
void shuchu(int c) //这个函数不用编写,可以直接在zhs函数里面用语句写的//
{
c=c%16;
if(c>=0&&c<=9)
{c=c+48;
putchar(c);
}
else
{
c=c+87;
putchar(c);
}
}
void zhs(int c)
{
if(c<=15)
shuchu(c);
else
{
zhs(c/16);
shuchu(c);
}
}
void main()
{
int n;
printf("please enter a number:\n");
scanf("%d",&n);
printf("zhuan huan hou de 16jinzhi shushi :\n");
zhs(n);
printf("\n");
}
不好意思弄错了这是一个十进制转换到16进制的问题。我重新帮你写一个。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
**
程序功能:求二进制,十进制,八进制
创建人:蒲宇林
创建日期:2007年8月13日
**/
#include
void
two();
void
eight();
void
sixteen();
/**主函数**/
void
main()
{
int
select;
do
{
printf("0
-
退出,1
-
十进制转二进制,2
-
十进制转八进制,3
-
十进制转十六进制");
scanf("%d",&select);
switch(select)
{
case
1
:
two();
break;
//十进制转二进制
case
2
:
eight();
break;
//十进制转八进制
case
3
:
sixteen();
break;
//十进制转十六进制
default
:
printf("您的输入有误,请重新输入!");
break;
}
if(select
==
0)
{
break;
}
}while(1);
}
void
two()
{
int
num,
i;
int
arr[20];
printf("\n请输入一个十进制数:");
scanf("%d",&num);
for(
i
=
0
;
1
;
i++)
//转换为二进制并存入数组
{
arr[i]
=
num
%
2;
num
=
num
/
2;
if(num
==
0)
{
break;
}
}
printf("转换为二进制:");
//打印
for(;
i
>=
0
;
i--
)
{
printf("%d",arr[i]);
}
printf("\n");
}
void
eight()
{
int
num,
i;
int
arr[20];
printf("\n请输入一个十进制数:");
scanf("%d",&num);
for(
i
=
0
;
1
;
i++)
//转换为八进制并存入数组
{
arr[i]
=
num
%
8;
num
=
num
/
8;
if(num
==
0)
{
break;
}
}
printf("转换为八进制:");
//打印
for(;
i
>=
0
;
i--
)
{
printf("%d",arr[i]);
}
printf("\n");
}
void
sixteen()
{
int
num,
i;
int
arr[20];
printf("\n请输入一个十进制数:");
scanf("%d",&num);
for(
i
=
0
;
1
;
i++)
//转换为二进制并存入数组
{
arr[i]
=
num
%
16;
num
=
num
/
16;
if(num
==
0)
{
break;
}
}
printf("转换为十六进制:");
//打印
for(;
i
>=
0
;
i--
)
{
switch(arr[i])
{
case
10
:
printf("a");
break;
case
11
:
printf("b");
break;
case
12
:
printf("c");
break;
case
13
:
printf("d");
break;
case
14
:
printf("e");
break;
case
15
:
printf("f");
break;
default
:
printf("%d",arr[i]);
}
}
printf("\n");
}
程序功能:求二进制,十进制,八进制
创建人:蒲宇林
创建日期:2007年8月13日
**/
#include
void
two();
void
eight();
void
sixteen();
/**主函数**/
void
main()
{
int
select;
do
{
printf("0
-
退出,1
-
十进制转二进制,2
-
十进制转八进制,3
-
十进制转十六进制");
scanf("%d",&select);
switch(select)
{
case
1
:
two();
break;
//十进制转二进制
case
2
:
eight();
break;
//十进制转八进制
case
3
:
sixteen();
break;
//十进制转十六进制
default
:
printf("您的输入有误,请重新输入!");
break;
}
if(select
==
0)
{
break;
}
}while(1);
}
void
two()
{
int
num,
i;
int
arr[20];
printf("\n请输入一个十进制数:");
scanf("%d",&num);
for(
i
=
0
;
1
;
i++)
//转换为二进制并存入数组
{
arr[i]
=
num
%
2;
num
=
num
/
2;
if(num
==
0)
{
break;
}
}
printf("转换为二进制:");
//打印
for(;
i
>=
0
;
i--
)
{
printf("%d",arr[i]);
}
printf("\n");
}
void
eight()
{
int
num,
i;
int
arr[20];
printf("\n请输入一个十进制数:");
scanf("%d",&num);
for(
i
=
0
;
1
;
i++)
//转换为八进制并存入数组
{
arr[i]
=
num
%
8;
num
=
num
/
8;
if(num
==
0)
{
break;
}
}
printf("转换为八进制:");
//打印
for(;
i
>=
0
;
i--
)
{
printf("%d",arr[i]);
}
printf("\n");
}
void
sixteen()
{
int
num,
i;
int
arr[20];
printf("\n请输入一个十进制数:");
scanf("%d",&num);
for(
i
=
0
;
1
;
i++)
//转换为二进制并存入数组
{
arr[i]
=
num
%
16;
num
=
num
/
16;
if(num
==
0)
{
break;
}
}
printf("转换为十六进制:");
//打印
for(;
i
>=
0
;
i--
)
{
switch(arr[i])
{
case
10
:
printf("a");
break;
case
11
:
printf("b");
break;
case
12
:
printf("c");
break;
case
13
:
printf("d");
break;
case
14
:
printf("e");
break;
case
15
:
printf("f");
break;
default
:
printf("%d",arr[i]);
}
}
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
赋值语句就可以了.
要写函数嘛:
int h2d( int x) { return x; }
void main(){
int a= 0xaa;
int b;
b = h2d(a);
printf("%d",b);
}
要写函数嘛:
int h2d( int x) { return x; }
void main(){
int a= 0xaa;
int b;
b = h2d(a);
printf("%d",b);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int main()
{
int a=0xfeac;
int str[10]={0};
int j=0;
while(a)
{
str[j]=a%10;
a/=10;
j++;
}
for(int i=j-1;i>=0;i--)
{
printf("%d",str);
}
}
{
int a=0xfeac;
int str[10]={0};
int j=0;
while(a)
{
str[j]=a%10;
a/=10;
j++;
}
for(int i=j-1;i>=0;i--)
{
printf("%d",str);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询