中易网

求编程: 试编写程序,将用户输入的一个十进制正整数转化为十六进制输出。

答案:2  悬赏:80  
解决时间 2021-03-09 05:36
求编程: 试编写程序,将用户输入的一个十进制正整数转化为十六进制输出。
最佳答案
#include
void put(int);
void convert(unsigned long int ,unsigned long int);
void main()
{
unsigned long int sort;
unsigned long int n;
do
{
printf("Please enter two numbers n and sort");
printf("\n n 代表你要转化的十进制正整数:");
scanf("%ld",&n);
printf("\n sort 代表你要转化的类型你可以输 2 8 16:");
scanf("%ld",&sort);
}while((n<0)||((sort!=2)&&(sort!=8)&&(sort!=16)));
convert(n,sort);
printf("\n");
}
void convert(unsigned long int n,unsigned long int sort)
{
unsigned long int num;
num=n%sort;
n/=sort;
if(n==0)
put(num);
else if(n {
put(n);
put(num);
}
else if(n>=sort)
{
convert(n,sort);
put(num);
}
}
void put(int num1)
{
if(num1<10)
printf("%c",num1+'0');
else
switch(num1)
{
case 10:
printf("%c",'A');
break;
case 11:
printf("%c",'B');
break;
case 12:
printf("%c",'C');
break;
case 13:
printf("%c",'D');
break;
case 14:
printf("%c",'E');
break;
case 15:
printf("%c",'F');
break;
}
}
全部回答

#include <stdio.h> void put(int); void convert(unsigned long int ,unsigned long int); void main() {   unsigned long int sort;   unsigned long int n;   do   {     printf("please enter two numbers n and sort");     printf("\n   n  代表你要转化的十进制正整数:");     scanf("%ld",&n);     printf("\n sort 代表你要转化的类型你可以输 2 8 16:");     scanf("%ld",&sort);   }while((n<0)||((sort!=2)&&(sort!=8)&&(sort!=16)));   convert(n,sort);   printf("\n"); } void convert(unsigned long int n,unsigned long int sort) {    unsigned long int num;    num=n%sort;    n/=sort;    if(n==0)    put(num);    else if(n<sort)    {     put(n);     put(num);    }    else if(n>=sort)    {     convert(n,sort);     put(num);    } } void put(int num1) {    if(num1<10)    printf("%c",num1+'0');    else     switch(num1)     {     case 10:     printf("%c",'a');     break;     case 11:     printf("%c",'b');     break;     case 12:     printf("%c",'c');     break;     case 13:     printf("%c",'d');     break;     case 14:     printf("%c",'e');     break;     case 15:     printf("%c",'f');     break;     } }

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我是属蛇的女孩那到底能带普贤菩萨嘛?
互联网经济的有利性优点
百丽洗化地址有知道的么?有点事想过去
如何办理存余额宝
高中实在毕不了业该怎么办?
宝清县水政监察大队我想知道这个在什么地方
我的食道好像吃东西时被什么噎到了,好难受啊
莫名其妙 从来不轻易借钱的人收到 蚂蚁花呗发
沈阳市阳光体检中心好不好?
财付通快捷支付里面怎么没有中信银行?
2016年一月份云南省中学教师资格证我是大专的
铜陵嘉元投资管理有限公司我想知道这个在什么
堰四村中心小区北门在哪里啊,我有事要去这个
歌词天上的喜鹊飞,春去春又回歌名是什么
我想在网上给别人翻译东西挣点小钱
推荐资讯
怎么写指定运行某个程序的批处理文件
瑞倪维儿美容美体养生会所在什么地方啊,我要
儿子和妈妈水命,老公是土命好么
潍坊出租车收费标准是什么怎么算价钱
我将要去超市为我的父母买礼物翻译英语
古代怎么夸赞一个人很聪明
中国历史上被皇帝用毒酒赐死的文武兼备又忠心
渔歌子什么意思
在C# 中制作flash动画用flash的哪个版本
我已经开了淘宝店了 刚开的一个店 别人就恶意
养水指数是151mm是多少厘米
中华美德童谣
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?