读书人

初学者求帮进制转换

发布时间: 2012-02-16 21:30:36 作者: rapoo

菜鸟求帮,进制转换
输入一个十进制数N,将它转换成R进制数输出。

输入

输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。

输出

为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。

样例输入


7 2
23 12
-4 3

样例输出


111
1B
-11


负数的时候我就不会处理啦。。R>10的时候感觉有点烦。。。

[解决办法]

C/C++ code
#include <stdio.h> #include <stdlib.h> void   main() {     char str[8];    int i,n;    scanf("%d %d", &n, &i);    itoa(n,str,i); //用函数转换itoa(值,数组名,进制)    printf( "%s\n ",str); }
[解决办法]
如果你要大写字母输出的话:首先两个头文件
C/C++ code
#include <string.h> #include<ctype.h>
[解决办法]
http://topic.csdn.net/u/20110718/08/6fd09f7b-22f4-4616-80c4-1cbf89f5a772.html
看看这个37楼的我以前写的
[解决办法]
看着没错啊,为什么是错的?没达到要求?
[解决办法]
[Quote=引用:]

[code=C/C++][/code]#include<stdio.h>
#include<string.h>
int main(){
void f(int n,char str[],int r);
char str[80];
int n,r;
while(scanf("%d %d",&n,&r)!=EOF)
{
if(n>0)
{f(n,str,r);puts……
[/Quote]

考虑 0 的进制 你的代码输出 -
出错也正常...

读书人网 >C语言

热点推荐