新微赢技术网
标题:
[求助]for loop 为什么不执行???
[打印本页]
作者:
欠你一滴泪
时间:
2009-11-4 00:55
标题:
[求助]for loop 为什么不执行???
我在做一个10进制转16进制的程序,程序如下,但是输出的结果是倒过来的~~~比如输入123,输出应为7B,但它输出的是B7, 我在for loop里面明明要它回倒了,为什么不执行呢???还是其他的原因,望哪为大哥帮忙看看~~
#include <iostream.h>
#include <stdlib.h>
void htio(int x, int y)
{
int d,i=0;
char Chars[] = {'A', 'B', 'C', 'D', 'E', 'F'};
while( x != 0 )
{
d = x % 16;
x = x / 16;
if ( d >=10)
cout << Chars[d-10];
else
cout << d;
}
for (d = i - 1; d >= 0; d--)
{
cout << Chars[d];
}
}
int main()
{
int a;
cout << "please enter a positive number ";
cin >> a;
cout << "\n";
htio(a, 16);
system("PAUSE");
return 0;
}
作者:
尐妖
时间:
2009-11-4 00:55
#include <iostream.h>
#include <stdlib.h>
#include<math.h>
void htio(int x, int y)
{
int d,i=0,j=x,k=-1;
char Chars[] = {'A', 'B', 'C', 'D', 'E', 'F','G','H'.......'Z'};
while(j!=0)
{
j=j/y;
k++;
}
while( k>=0 )
{
if(x>y-1)
{
d = x / (int)pow(y,k);
x = x % (int)pow(y,k--);
if ( d >=10)
cout << Chars[d-10];
else
cout << d;
}
else
{
d=x;
if ( d >=10)
cout << Chars[d-10];
else
cout << d;
break;
}
}
}
int main()
{
int a;
cout << "please enter a positive number ";
cin >> a;
cout << "\n";
htio(a, 16);
system("PAUSE");
return 0;
}
原来的有些多余,改后可以做10进制换n进制
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2