武汉科技大学ACM :1008: 华科版C语言程序设计教程(第二版)习题6.14

时间:2022-06-20 19:01:23

Problem Description

输入一个八进制的字符串,将它转换成等价的十进制字符串,用pringf的%s格式输出。

Input

首先输入一个正整数t,表示有t组测试数据(1<= t <= 10010)。

接下来t行,每行一个字符串,表示一个八进制整数(这个整数不超过20位)。

Output

对于每个测试数据,输出相应的十进制字符串。每个字符串一行。

Sample Input

1
1732

Sample Output

986

HINT

注意:给的八进制数可能很大,用long long

#include<stdio.h>
#include <string.h>
#include <stdlib.h> long long mishu(int j)
{
long long res = ;
for(;j>;j--)
{
res *= ;
}
return res;
} int main()
{
int i,j,k,m;
long long n;
while(scanf("%d",&m)!=EOF)
{
for(k=;k<m;k++)
{
n=;
char s[];
scanf("%s",s);
for(i=strlen(s)-,j=;i>=;i--,j++)
{
n += (s[i]-'')*mishu(j);
}
printf("%lld\n",n);
}
}
return ;
}