永发信息网

C语言程序:输入一个2/8/10/16进制数,将其转换到2/8/10/16进制数

答案:1  悬赏:10  手机版
解决时间 2021-07-19 09:39
C语言程序:输入一个2/8/10/16进制数,将其转换到2/8/10/16进制数
最佳答案

#include <stdio.h>


#define MAXCHAR 101


int char_to_num(char ch);


char num_to_char(int num);


long source_to_decimal(char temp[],int source);


int decimal_to_object(char temp[],long decimal_num,int object);


void output(char temp[],int length);


int main(void)


{


int source;


int object;


int length;


long decimal_num;


char temp[MAXCHAR];
int flag=1;


printf("你好\n");


while(flag)


{


printf("zhuan huan qian de shu shi:\n");


scanf("%s",temp);


printf("zhuan huan qian de shu zhi:\n");


scanf("%d",&source);


printf("zhuan huan hou de shu zhi:\n");


scanf("%d",&object);


printf("zhuan huan hou de shu shi:\n");


decimal_num=source_to_decimal(temp,source);


length=decimal_to_object(temp,decimal_num,object);


output(temp,length);


printf("ji xu,shu ru 1,bu ji xu shu ru 0:\n");


scanf("%d",&flag);


}


printf("bye!\n");


return 0;


}


int char_to_num(char ch)


{


if(ch>='0'&&ch<='9')


return ch-'0';


else


return ch-'A'+10;


}


char num_to_char(int num)


{


if(num>=0&&num<=9)


return (char)('0'+num-0);


else


return (char)('A'+num-10);


}


long source_to_decimal(char temp[],int source)


{


long decimal_num=0;


int length;


int i;


for(i=0;temp[i]!='\0';i++)


;


length=i;


for(i=0;i<=length-1;i++)


decimal_num=(decimal_num*source)+char_to_num(temp[i]);


return decimal_num;


}


int decimal_to_object(char temp[],long decimal_num,int object)


{


int i=0;


while(decimal_num)


{


temp[i]=num_to_char(decimal_num%object);


decimal_num=decimal_num/object;


i++;


}


temp[i]='\0';


return i;


}


void output(char temp[],int length)


{


int i;


for(i=length-1;i>=0;i--)


printf("%c",temp[i]);


printf("\n");

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
剑灵网游什么时候内测什么时候公测
佛山云吞面老店 应记 的地址
向银行借钱
什么条件可以申购新股,新股申购需要什么条件
为什么我开的黄钻没有QQ豆啊?
火影中的尾兽是什么东西
其实我们都一样的英语怎么写
为什么我家的CF玩的时候老出问题?
鄂城区鄂州小魔仙(明塘路)在哪里啊,我有事要
怎么把桌面图标的小箭头去掉啊?
哪一种水果吃了对美白有作用?
彩虹岛生存之道
红色皮衣外套怎么搭配,玫红色外套可以搭配黄
为什么QQ校友里的头像照片老是不能审核通过?
怎样才可以开开心心度过每一天?
推荐资讯
弹弹堂怎么个收人?
一边吃饭一边看电影好不好?
数学中的问题
我家宽带2兆 3个人共用 是属于局域网么?? 3
7等于二分之十四对不对
有啥好听的歌?中英文都可以。
哀悼老人的诗句,描写老人恐怖外貌的句子
女生在你面前装嫩怎么办
从来没做过生意 想卖服装 需要注意什么细节
习惯从右路突破,想改从左右通过,左手总练不
歌颂黄河的诗词,写黄河的古诗十首
两句有关勤奋上进的格言
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?