九度题目1118数制转换
来源:互联网 发布:sql server sum 函数 编辑:程序博客网 时间:2024/05/24 02:32
#include<stdio.h>
int main(){
int a,b,i,r;//r为权重
char n[100];
long int x;
int m[100];
while(scanf("%d %s %d",&a,&n,&b)!=EOF){
for(i=0;n[i]!=0;i++){
}
x=0;
r=1;
for(i--;i>=0;i--){
if(n[i]>='A'&&n[i]<='F'){
x+=(n[i]-'A'+10)*r;
}
else if(n[i]>='a'&&n[i]<='f'){
x+=(n[i]-'a'+10)*r;
}
else{
x+=(n[i]-'0')*r;
}
r=r*a;
}//x为十进制数
if(x==0){
printf("0");
}
else{
for(i=0;x>0;i++){
m[i]=x%b;
x=x/b;
}
for(i--;i>=0;i--){
if(m[i]>=10){
printf("%c",m[i]-10+'A');
}
else{
printf("%d",m[i]);
}
}
}
printf("\n");
}
return 0;
int main(){
int a,b,i,r;//r为权重
char n[100];
long int x;
int m[100];
while(scanf("%d %s %d",&a,&n,&b)!=EOF){
for(i=0;n[i]!=0;i++){
}
x=0;
r=1;
for(i--;i>=0;i--){
if(n[i]>='A'&&n[i]<='F'){
x+=(n[i]-'A'+10)*r;
}
else if(n[i]>='a'&&n[i]<='f'){
x+=(n[i]-'a'+10)*r;
}
else{
x+=(n[i]-'0')*r;
}
r=r*a;
}//x为十进制数
if(x==0){
printf("0");
}
else{
for(i=0;x>0;i++){
m[i]=x%b;
x=x/b;
}
for(i--;i>=0;i--){
if(m[i]>=10){
printf("%c",m[i]-10+'A');
}
else{
printf("%d",m[i]);
}
}
}
printf("\n");
}
return 0;
}
这个题目也做了很久 看来还是非常不熟练
本题目错了很多次 比如 该用a时用了b
但最关键的是又忘记了 考虑边界值 比如 n=0的情况!!!!!
0 0
- 九度OnlineJudge题目1118:数制转换
- 九度OJ 题目1118:数制转换
- 九度题目1118数制转换
- 九度OJ题目1118:数制转换
- 九度 题目1118:数制转换
- 【九度OJ】题目1118:数制转换 解题报告
- 数制转换 (九度oj题目44)
- 九度1118:数制转换
- 题目1118:数制转换
- 题目1118:数制转换
- 题目1118:数制转换
- 题目1118:数制转换
- 题目1118:数制转换
- 题目1118:数制转换
- 九度OJ 1118 数制转换
- 九度oj-1118-数制转换
- 九度OJ-1118-数制转换
- 44-题目1118:数制转换
- HDOJ 1205-吃糖果【思维】
- ubuntu14.04 安装eclipse的插件maven
- 引用数据类型的转换
- ngrok在linux和win下的使用
- Spring注解详解
- 九度题目1118数制转换
- 简单mysql连接池
- 在ZendStudio中增加新的php模板
- Java调用python,出现“无法解析的编译问题,PythonInterpreter无法解析为类型”
- Mybatis使用generator自动生成映射配置文件信息
- JVM工作原理
- Jenkins结合Docker在CentOS6.7上构建项目示例
- AC自动机总结
- SpringMVC中四个基本注解