B2143 进制转换
题目描述
进制转换 - 洛谷

运行代码
#include<stdio.h>
int main(){
int a,b,i=0,j,num[20];
char k[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
scanf("%d",&a);
scanf("%d",&b);
do{
i++;
num[i]=a%b;
a=a/b;
}while(a!=0);
printf("");
for(j=i;j>=1;j--)
printf("%c",k[num[j]]);
}
简化后
#include <stdio.h>
int main() {
int a, b, i = 0;
char k[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
scanf("%d", &a);
scanf("%d", &b);
// 直接在循环条件中进行计算和判断,无需单独的自增操作和额外的变量来记录次数
int num[20];
while (a!= 0) {