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

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

Problem Description

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

Input

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

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

Output

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

Sample Input

11732

Sample Output

986

HINT

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

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

 

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