求看代码,找错,谢谢大神
#include<stdio.h>#include<math.h>
int quzhen( int a, int b ); // a被b除取整数部分
int quyu( int a, int b ); // a被b除取余数部分
int main( void )
{
double a[6] = {0};
int i;
double num;
int j;
printf( "输入一个0到32767之间的整数: " );
scanf( "%d", &num );
for( i = 5; i >= 1; i-- ){
a[i] = quzhen( num, ( int )pow( 10, i ) );//抽出最高位
num = quyu( num, ( int )pow( 10, i ) );//num重新赋值次高位到最后
}
j = 5;
while( a[j--] == 0 );//确定最高不为零位
for( j ; j > 0; j-- ){ //分别打印不为零的各位
printf( "%d ", a[j] );
}
return 0;
}
int quzhen( int a, int b )//取最高位
{
return ( a / b );
}
int quyu( int a, int b )//求余
{
return ( a % b );
}
//代码的意思就是要从最高位开始分别打印各位,但是又打印不出,郁闷