大学刚学C语言一个月该怎么写这个八进制转十进制这个代码。
#include <stdio.h>
int main()
{
int n;
scanf("%o",&n);
printf("%d",n);
return 0;
}
#include "stdio.h"
void main()
{
int a=10;
printf("%o",a);
}
代码如下,如有帮助,请帮忙采纳一下,谢谢。:
效果图如下
代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char buf[10]={0};
int n,i=0;
int s = 0;
scanf("%d",&n);
itoa(n,buf,10);
while(buf[i])
{
s = s* 8 + buf[i]-'0';
i++;
}
printf("%d",s);
return 0;
}
就是把这个数百位乘以8的2次方,十位乘以8的1次方,个位乘以8的0次方
int getWeiNum(int x)
{
int a=0;
while(x!=0){
x=x/10;
a++;
}
return a;
}
int main()
{
int num=0,a=0,i=0,sum=0,b=0,c=0,d=0;
scanf("%d",&num)
a= getWeiNum(num);
for(i=a;i>0;i--)
{
b=pow(10,i);
c=pow(10,i-a);
d=pow(8,i);
sum+=(num/b%c)*d;
}
printf("%d",sum);
}
望采纳!!