|
<p>c语言编程问题,高手请进!</p>
<p><img src="http://img.baidu.com/img/iknow/icn_point.gif"> 悬赏分:5 -</p>
<p>解决时间:2010-9-26 13:15</p>
<p>问题补充:</p>
<p>将十进制转化为R进制</p>
<p>#include <stdio.h></p>
<p>#define R 2</p>
<p>void main()</p>
<p>{</p>
<p>int i,j,k,m,n,a,b,c,x,y;</p>
<p>int f(int ,int );</p>
<p>printf("请输入一个数");</p>
<p>scanf("%d",&x);</p>
<p>for(i=0;i<2;i++)</p>
<p>for(j=0;j<2;j++)</p>
<p>for(k=0;k<2;k++)</p>
<p>for(m=0;m<2;m++)</p>
<p>for(n=0;n<2;n++)</p>
<p>for(a=0;a<2;a++)</p>
<p>for(b=0;b<2;b++)</p>
<p>for(c=0;c<2;c++)</p>
<p>if(x==f(0,R)*c+f(1,R)*b+f(2,R)*a+f(3,R)*n+f(4,R)*m+f(5,R)*k+f(6,R)*j+f(7,R)*i)</p>
<p>printf("x转化为%d进制为%d%d%d%d%d%d%d%d",R,i,j,k,m,n,a,b,c);</p>
<p>}</p>
<p>int f(int y,int R)</p>
<p>{</p>
<p>int s=1,y;</p>
<p>if(y==0)</p>
<p>return(1);</p>
<p>for(i=1;i<=y;i++)</p>
<p>s=s*R;</p>
<p>return(s);</p>
<p>}</p>
<p>提问者: 杨帆1029883589 - 二级</p>
<p>最佳答案</p>
<p>倒数第7行 有错误 定义的是i 不是y (int s=1,i;)</p>
<p>我看了一下 你的代码 你的不完善 如果是2进制 只能表达从(1—255)之间的数。 如果是三进制 也只能表达(0—19682)之间的数。</p>
<p>0</p>
<p>回答者:</p>
<p>youweihaoshuai - 一级 2010-9-19 17:24</p>
<p>我来评论>></p>
|
|