文章

3

粉丝

1

获赞

19

访问

515

头像
进制转换3 题解:
P1422 清华大学/厦门大学机试题
发布于2026年1月14日 17:09
阅读数 133

 

#include<bits/stdc++.h>

using namespace std;

int main(){

    int x,y;

    char s[105];

    scanf("%d %d",&x,&y);

    scanf("%s",&s);        //这里不需要用getchar,getchar只有前面读取以后,在读取一个单字符才需要,%s是读取字符串,不是单个字符,会自动消除这种影响

    long long ans=0;          

    int len=strlen(s);

    if(s=="0") printf("0");   //当时没有判断,输入为0的情况,过了80%,加上之后 AC

    for(int i=0;i<len;i++){         //转换10进制

        ans=ans*x;

        if(s[i]>='0'&&s[i]<='9') ans=ans+(s[i]-'0');

        else ans=ans+(s[i]-'A')+10;       //注意这里,题目要求输入为大写字母,要减A

    }

    char out[105];

    int c=0;

  ...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发