/*
Copyright(c)2016,烟台大学计算机学院
All rights reserved.
文件名称:tset.cpp
作者:尤文敏
完成日期:2016年11月19日
版本号:v1.0
题目描述 :
十进制转化为R进制
问题及代码:
#include <stdio.h>
#include <stdlib.h>
void f(int N,int R);
int main()
{
int N,R;
while(scanf("%d %d",&N,&R)!=EOF)
{
if(N==0)
printf("%d",N);
else if(N<0)
{
printf("-");
N=-N;
}
f(N,R);
printf("\n");
}
return 0;
}
void f(int N,int R)
{
int m;
if(N==0)
return;
else
{
f(N/R,R);
m=N%R;
if(m<10)
printf("%d",m);
else
printf("%c",m-10+'A');
}
}
运行结果:
知识点总结:
十进制转化为二进制只是特殊情况,现在要把十进制转化为R进制,其中要注意到当R大于10后,要用到字母来表示。
学习心得:
要把特殊情况一般化,一般情况特殊化。