#include int change(int x) { int a[20],i,n,t,m=0,y=0; for(i=0;x==0;i++) { a[i]=x%10; x=x/10; } for(m=0;m
#include<stdio.h>
void dec2oct(int x)
{if(x>1)dec2oct(x/8);
printf("%d",x%8);
}
int main()
{int x;
scanf("%d",&x);
dec2oct(x);
return 0;
}
#include<stdio.h>
#include<string.h>
//自定义的求幂函数
int poll(int a,int b)
{
int i,s=1;
for(i=1;i<=b;i++)
s=s*a;
return s;
}
int main()
{
int i,j,k,l,n,m;
int t;
char a[100];
int poll(int a,int b);
while(scanf("%d %s",&n,a)!=EOF)//输入
{
t=0;
l=strlen(a)-1;
printf("%d\n%s\n",n,a);//将输入输出
for(i=0;a[i]!='\0';i++)//转换过程
{
if(n!=16)
{
t=t+(a[i]-'0')*poll(n,l);
l--;
}
else
{
if(a[i]>='A'&&a[i]<='f')
t=t+(a[i]-'A'+10)*poll(n,l);
else
t=t+(a[i]-'0')*poll(n,l);
l--;
}
}
printf("%d\n",t);//所求的结果
}
}
//该方法支持将二、八或十六进制整数转化为十进制数 。(数组实现)
#include<stdio.h>
#include<string.h>
int poll(int a,int b)
{
int i,s=1;
for(i=1;i<=b;i++)
s=s*a;
return s;
}//自定义的求幂函数
int main()
{
int i,j,k,l,n,m;
int t;
char a[100];
int poll(int a,int b);
while(scanf("%d %s",&n,a)!=EOF)//输入
{
t=0;
l=strlen(a)-1;
printf("%d\n%s\n",n,a);//将输入输出
for(i=0;a[i]!='\0';i++)//转换过程
{
if(n!=16)
{
t=t+(a[i]-'0')*poll(n,l);
l--;
}
else
{
if(a[i]>='A'&&a[i]<='f')
t=t+(a[i]-'A'+10)*poll(n,l);
else
t=t+(a[i]-'0')*poll(n,l);
l--;
}
}
printf("%d\n",t);//所求的结果
}
}
代码说明:本程序支持任何进制转十进制,n就是2或8或16,也可以是别的数,而a[]就是与n相对应
#include int change(int x) { int a[20],i,n,t,m=0,y=0; for(i=0;x==0;i++) { a[i]=x%10; x=x/10; } for(m=0;m
发不出去所有代码😂
题目是要自己编写一个函数,完成八进制到十进制的转换
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632