|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 l不败 于 2017-10-6 19:38 编辑
#include<stdio.h>
char one2one(int n)
{
if (n <= 9)
return n + '0';
else return (n - 10 + 'A');
}
void trans(int input, int r)
{
if (input>0)
{
trans(input / r, r);
printf("%c", one2one(input%r));
input = input / r;
}
}
int main()
{
int input, r;
while (~scanf("%d%d", &input, &r))
{
trans(input, r);
printf("\n");
}
}//这段程序正常打出,
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
using namespace std;
int main()
{
int n, r;
while (cin >> n >> r && (n&r) != EOF)
{
while (n != 0)
{
if (n%r == 0)
cout << 0;
else if (n%r <= 9)
cout << (n%r);
else if (n%r == 10)
cout << 'A';
else if (n%r == 11)
cout << 'B';
else if (n%r == 12)
cout << 'C';
else if (n%r == 13)
cout << 'D';
else if (n%r == 14)
cout << 'E';
else if (n%r == 15)
cout << 'F';
n = n / r;
}
}
cout << endl;
return 0;
}//这段程序,如果输入和上个程序相同的数据,输出的结果,所有的数字都是相反的。
有木有大神指导,这是为什么呢?麻烦不吝赐教
|
|