C语言题目:能将二、八、十六进制数转换成十进制数,有数制选择,并有键盘数据输入与数据结果输出

来源:百度知道 编辑:UC知道 时间:2024/05/29 04:52:54

找了下,给你个分别转换代码,楼主自己看看,综合起来也就解决了
当然,如果有时间的话,我可以写写了
二进制转十进制代码:
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <iostream>
using namespace std;
void convert();
void main()
{
convert();
}
void convert()
{
char a[100];
int num,sum=0;
int len;
cout<<"input the Binary:n";
gets(a);
cout<<"the original number:n";
puts(a);
len=strlen(a);
for (int i=0;i<len;i++)
{
{
num=(a[i]-48);
num=num*pow(2,len-i-1);
sum+=num;
}
}
cout<<sum<<endl;
}

八进制转十进制代码:
main()
{ char *p,s[6];int n;
p=s;
gets(p);
n=0;
while(*(p)!=’\0’)
{n=n*8+*p-’0’;
p++;}
printf("%d",n);
}
十六进制转换为十进制代码:
#include<stdio.h>
long fun(char*s)