help!
2024-06-15 14:01:03
发布于:广东
21阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
char a[26]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
int main()
{
bool flag=false;
int n,m;
cin>>n>>m;
if(m<=10)
{
int n1=n;
while(n1>0)
{
if(flag==false and n1%10==0){
flag=true;
continue;
}
else{
cout<<n1%10;
}
n1=n1/10;
}
}
else
{
int n1=n;
while(n1>0){
if(n1%m>=10)
{
int g=n1%10-10;
cout<<a[g];
}
else{
cout<<n1%10;
}
n1=n1/10;
}
cout<<n1<<endl;
}
}
全部评论 1
你的代码问题
- 二进制转换:
- 你的代码没有将二进制字符串转换为十进制整数。你需要先将输入的二进制字符串转换为十进制整数。
- 进制转换逻辑:
- 你在处理 ( x ) 进制转换时,逻辑有些混乱。特别是
n1%m
和n1%10
的使用不正确。你应该始终使用n1%x
来获取余数。
- 输出顺序:
- 你需要将每次的余数存储起来,最后逆序输出。
- 变量命名和代码结构:
- 代码中的一些变量命名不够清晰,例如 n1 和 m。建议使用更具描述性的变量名,使代码更易读。
2024-12-07 来自 北京
0
有帮助,赞一个