C语言编程题!!急!!把一个八进制数转换成十进制输出!!

2024-11-01 16:06:34
有3个网友回答
网友(1):

这是我写的可以讲任意进制数转化为十进制的


#include

using namespace std;

int Multiply(int a,int b)

{

int aa=a;

if(b== 1) return 1;

else if(b== 2) return a;

for(int i=0;i<(b-2);++i)

{

a*=aa;

}

return a;

}

int main(int argc,char **argv)

{

while(1)

{

cout<<"请输入数字:";

char szInput[128];

cin>>szInput;

cout<<"数字的进制数:";

int i;

cin>>i;

int sum=0;

int k=0;

for(int j=strlen(szInput);j>0,k

{

int dwInputbit=0;

memcpy(&dwInputbit,&(szInput[k]),1);

dwInputbit-=48;

sum+=(Multiply(i,j)*dwInputbit);

}

cout<<"对应的十进制数为:"<

}




return 0;

}


运行

网友(2):

for(;x>=(pow(10,n));n++); 这个是无限循环把

网友(3):

//处应该是pow(10,n)
#include
#include
int main()
{
int n=0,k,s=0,x;
scanf("%i",&x);
for(;x>=(pow(10,n));n++);
for(;n>=0;n--)
{
k=x/(pow(10,n));
//
x=x-k*(pow(10,n));
s=s+k*(pow(8,n));
}
printf("%i",s);
}