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

大家帮小弟我看看啊 ?

2012-02-19 
大家帮我看看啊 ?????[color#FF0000][/color]/*给定程序fun的功能是:将十进制的正整数m转换为k进制(2k

大家帮我看看啊 ?????
[color=#FF0000][/color]/*给定程序fun的功能是:将十进制的正整数m转换为k进制(2<=k<=8)数的数字输出
如输入8和2,则应输出1000(十进制8转换成2进制为1000) */


//#include <conio.h>
#include <stdio.h>
void fun( int m, int k )
{
  int aa[20], i;
  for( i = 0;i<m/k; i++ )这边的范围怎么取?//
  {
/**********found**********/
  aa[i] = m%k;
  m /= k;
  }
for( i=0; i<m/k; i++ )这边的呢?
/**********found**********/
  printf( "%d", aa[i] );
}

main()
{
  int b, n;
  // clrscr();
  printf( "\nPlease enter a number and a base:\n" );
  scanf( "%d %d", &n, &b );
  fun( n, b );
}

谢谢了

[解决办法]
做个sf再说,HOHO~
[解决办法]
问题是什么意思,没明白,你不是已经取了个范围了吗?
[解决办法]

C/C++ code
 for( --i;i>=0; i-- ) //你写错了,这里要先减1      /**********found**********/       printf( "%d", aa[i] );
[解决办法]
#include "stdafx.h"
#include <stdio.h> 
void fun( int m, int k ) 

int aa[20], i; 
for( i=0;m>0; i++ ) { 
/**********found**********/ 
aa[i]=m%k; 
m/=k; 


for( i;i>=1; i-- ) 
/**********found**********/ 
printf( "%d", aa[i-1] ); 



void main() 

int b, n; 
// clrscr(); 
printf( "\nPlease enter a number and a base:\n" ); 
scanf( "%d %d", &n, &b ); 
fun( n, b ); 


[解决办法]
笨重一点的方法
C/C++ code
#include <valarray>#include <iostream>#include <string>#include <stdlib.h>using namespace std;void convert(int input){    unsigned int weight[32];    unsigned int result[32];    memset(weight,sizeof(int),32);    memset(result,sizeof(int),32);    for(int i=0;i<32;i++){        weight[i]=(unsigned int)pow(2,i);    }    for(int i=31;i>=0;i--){        static unsigned int res = input;        div_t div_res=div(res,weight[i]);        result[i]=div_res.quot;        res -= div_res.quot * weight[i];    }    for(int i=31;i>=0;i--){        static int flag = 0;        if(result[i] == 0 && flag == 0){            continue;        }        cout<<result[i];        flag=1;    }    cout<<endl;}int main(int argc,char **argv){    if(argc>1){        convert(atoi(argv[1]));    }    return 0;}
[解决办法]
#include <stdio.h> 
void fun( int m, int k ) 
{
int aa[20], i; 
for(i = 0;m;i++ ) //这边的范围怎么取? 
{
aa[i] = m % k; 
m = m / k; 

for( --i; i >= 0; i-- ) //这边的呢?
printf( "%d", aa[i] ); 


main() 

int b, n;
printf( "\nPlease enter a number and a base:\n" ); 
scanf("%d %d",&n,&b); 
fun( n, b ); 
}
[解决办法]
//#include <conio.h> 
#include <stdio.h> 


void fun( int m, int k ) 

int aa[20], i=0; 
for( ;m>=k; i++ ) 

/**********found**********/ 
aa[i]=m%k; 
m/=k; 


 aa[i]=m;
 for( i;i>=0; i-- ) 
 /**********found**********/ 
printf( "%d", aa[i] ); 
  


main() 

int b, n; 
// clrscr(); 
printf( "\nPlease enter a number and a base:\n" ); 
scanf( "%d %d", &n, &b ); 
fun( n, b ); 


没调试,

热点排行