zoukankan      html  css  js  c++  java
  • 【ACM打卡】ZOJ 1334

    1334 

    任意进制间的转换。

    n进制(char数组输入)转换为10进制(int类型),再把10进制转换为m进制(char数组储存),格式输出(判断i,若大于7,则错误。若小于等于7,则输出:j=0到7-i输出空格,i位输出数组).


    1334

    #include<iostream>
    #include<iomanip>
    #include<stdio.h>
    #include<math.h>
    #include<string.h>
    using namespace std;
    
    int main(){
        char s[100],s1[8];
        int h1,h2;
        while(scanf("%s%d%d",&s,&h1,&h2)!=EOF){
            int i,j=0,r,su=0;
            for(i=strlen(s)-1;i>=0;i--){
                if(s[i]<='9'&&s[i]>='0') r=s[i]-'0';
                else if(s[i]>='A'&&s[i]<='F') r=s[i]-'A'+10;
                su+=(int)r*pow(h1,j);
                j++;
            }
            i=0;
            char t;
            while(su){
                j=su%h2;
                su=su/h2;
                if(j>9) t=(char)j-10+'A';
                else t=(char)j+'0';
                s1[i]=t;
                i++;
                }
                if(i>7){
                    cout<<"  ERROR"<<endl;
                    continue;
                }
                 for(j=0;j<7-i;j++)  printf(" ");
                 for(j=i-1;j>=0;j--)  printf("%c",s1[j]);
                 printf("
    ");
        }
        return 0;
    }
    


  • 相关阅读:
    Codeforces 451A Game With Sticks
    POJ 3624 Charm Bracelet
    POJ 2127 Greatest Common Increasing Subsequence
    POJ 1458 Common Subsequence
    HDU 1087 Super Jumping! Jumping! Jumping!
    HDU 1698
    HDU 1754
    POJ 1724
    POJ 1201
    CSUOJ 1256
  • 原文地址:https://www.cnblogs.com/iriswang/p/11084679.html
Copyright © 2011-2022 走看看