80分死磕

B3849 [GESP样题 三级] 进制转换

Are_you_sure_cjj @ 2024-08-16 23:02:59

帮我看下代码哪里错了 全AC关注

#include<bits/stdc++.h>
using namespace std;
void jzzh(int n,int m)
{
    if(n==0) return;
    jzzh(n/m,m);
    if(n%m==1)
        cout<<'1';
    if(n%m==2)
        cout<<'2';
    if(n%m==3)
        cout<<'3';
    if(n%m==4)
        cout<<'4';
    if(n%m==5)
        cout<<'5';
    if(n%m==6)
        cout<<'6';
    if(n%m==7)
        cout<<'7';
    if(n%m==8)
        cout<<'8';
    if(n%m==9)
        cout<<'9';  
    if(n%m==10)
        cout<<'A';
    if(n%m==11)
        cout<<'B';
    if(n%m==12)
        cout<<'C';
    if(n%m==13)
        cout<<'D';
    if(n%m==14)
        cout<<'E';
    if(n%m==15)
        cout<<'F';
    if(n%m==16)
        cout<<'G';
    if(n%m==17)
        cout<<'H';
    if(n%m==18)
        cout<<'I';
    if(n%m==19)
        cout<<'J';
    if(n%m==20)
        cout<<'K';
    if(n%m==21)
        cout<<'L';
    if(n%m==22)
        cout<<'M';
    if(n%m==23)
        cout<<'N';
    if(n%m==24)
        cout<<'O';
    if(n%m==25)
        cout<<'P';
    if(n%m==26)
        cout<<'Q';
    if(n%m==27)
        cout<<'R';
    if(n%m==28)
        cout<<'S';
    if(n%m==29)
        cout<<'T';
    if(n%m==30)
        cout<<'U';
    if(n%m==31)
        cout<<'V';
    if(n%m==32)
        cout<<'W';
    if(n%m==33)
        cout<<'X';
    if(n%m==34)
        cout<<'Y';
    if(n%m==35)
        cout<<'Z';
}
int main(){
    int n,m;
    cin>>n>>m;
    jzzh(n,m);
    return 0;
}

by dongzirui0817 @ 2024-08-16 23:06:24

@Cjj395_ n%m时是0你没考虑


by dongzirui0817 @ 2024-08-16 23:08:37

比如:

11
11

AC:
10

WA:
1

by are_you_sure @ 2024-08-19 22:25:06

@Cjj395_ 你好,同学,你也学会发帖求助了?(本人maqik


by Are_you_sure_yxy @ 2024-08-22 22:58:43

cjj同学还有一个0的条件你没考虑好,可以用递归来算,没有必要去一个个算


|