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

[复制链接]
查看11 | 回复0 | 2009-11-23 14:50:46 | 显示全部楼层 |阅读模式
#include "stdafx.h"#include "stdlib.h"#include "string.h"#include "math.h"#include "iostream.h"int tran(char c){
if(c>=65&&c=95&&c>str>>ary; len=strlen(str); switch(ary[0]) {
case 'b':while(n<len){num+=tran(str[n])*pow(2,len-n-1);n++;}break; case 'h':while(n<len){num+=tran(str[n])*pow(16,len-n-1);n++;}break; case 'o':while(n<len){num+=tran(str[n])*pow(8,len-n-1);n++;}break; case 'd':num=atoi(str);break; } memcpy(str," ",32); switch(ary[1]) { case 'b':itoa(num,str,2);break; case 'h':itoa(num,str,16);break; case 'o':itoa(num,str,8);break; case 'd':itoa(num,str,10);break; } cout<<str<<endl; return 0;}c++的,改下输入输出就可以了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行