注册 登录
编程论坛 C语言论坛

八进制转十进制

qiqicai 发布于 2021-04-19 00:03, 1550 次点击
#include<stdio.h>
#include<math.h>
void main(void)
{
long long n;int ys,i,jg;
printf("输入一个八进制数:");
scanf("%lld",&n);
while(n!=0)
{                                                     大家帮我看看这个哪有问题
ys = n%10;
n = n/10;
jg += ys*pow(8,i);
i++;
}
printf("十进制数为:%d",jg);
   
}
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
2 回复
#2
rjsp2021-04-19 08:36
程序代码:
#include <stdio.h>

int main( void )
{
    unsigned long long n;
    printf("输入一个八进制数:");
    scanf( "%llu", &n );

    unsigned long long result = 0;
    for( unsigned long long base=1; n!=0; base*=8, n/=10 )
        result += n%10 * base;
    printf( "十进制数为: %llu\n", result );
}


你没给出题目,但我怀疑应该用字符串接受数据
#3
mindfulness2021-05-09 05:16
八进制转十进制 直接读不香吗?
程序代码:
#include<stdio.h>
int main( )
{
    int x;
    scanf("%o",&x);
    printf("x=%d\n",x);
    return 0;
}
1