首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

看看有哪位高手现在还能读懂这个程序!(任意进制化成十进制)

2012-04-23 
看看有谁现在还能读懂这个程序!(任意进制化成十进制)[codeC/C++][/code]?#includestdio.h?void fun(int

看看有谁现在还能读懂这个程序!(任意进制化成十进制)
[code=C/C++][/code]?#include<stdio.h>
?void fun(int n,int k);
?int main()
?{
? int n,k;
? scanf("%d%d",&n,&k);
? printf("(%d)10=(",n);
? fun(n,k);
? printf(")%d",k);
? putchar('\n');
? return 0;
?}
?
?void fun(int n,int k)
?{ 
? char c;
? if(n/k)
? fun(n/k,k);
? c=(n%k)["0123456789ABCDEF"];
? putchar(c);


[解决办法]
说错了。
应该是 10进制转换为k进制,k=[2,16].
[解决办法]
c=(n%k)["0123456789ABCDEF"];
lz估计是不知道这行是什么。

这个相当于一个数组"0123456789ABCDEF",然后取n%k处的元素
[解决办法]
只有懂进制转换原理,就很容易看懂,楼主你的fun()函数还少一句输出语句吧

C/C++ code
#include<stdio.h>void fun(int n,int k);int main(){    int n,k;    scanf("%d%d",&n,&k);    printf("(%d)10=(",n);    fun(n,k);    printf(")%d",k);    putchar('\n');    return 0;}void fun(int n,int k){      char c;    if(n/k)        fun(n/k,k);    c=(n%k);    printf("%d", c);  //输出    }
[解决办法]
探讨
c=(n%k)["0123456789ABCDEF"];
lz估计是不知道这行是什么。

这个相当于一个数组"0123456789ABCDEF",然后取n%k处的元素

热点排行