M进制整数转化成N进制整数!在线等!
热心网友
M 给定程序的功能是将十进制正整数m转换成k进制(2≤k≤9)数的数字输出。例如, 若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! 试题程序: #include Void fun(int m,int k) { im aa[20],i; for(i=0;m;i++){ aa[i]。_l_; m/=_2_; } for(;i;i--)printf("%d",-3-[i-1]); } main()。 { int b,n; printf("\nPlease enter a number and a base:\n"); scanf("%d%d",&n,&b); fun(n'b); } 【答案】 (1)m%k (2)k (3)aa 【评析】 (1)此语句是将十进制的整型数据m转换为k进制数据时,将余数保存在数组aa中。 (2)此语句是将十进制的整型数据m转换为k进制数据时,每除一次k后,把商重新赋值给正整数m,以便重复取余。 (3)在for循环之后,i即为转换成的k进制数的位数,所以根据题意要求,此语句应该是:"print("%d", aa[i-l]);"。热心网友