编写程序,能实现的功能是将十进制正整数m转成k进制数(2<=k<=9),并输出,m和k的值从键盘上

编写程序,能实现的功能是将十进制正整数m转成k进制数(2<=k<=9),并输出,m和k的值从键盘上输入。(要程序代码,用数组)谢谢

#include <iostream>
using namespace std;

int main()
{
long n;
int p,c,m=0,s[100];
cout<<"输入要转换的数字m:"<<endl;
cin>>n;
cout<<"输入要转换的进制p:"<<endl;
cin>>p;
while (n!=0)
{
c=n%p;
n=n/p;
m++;s[m]=c;
}
for(int k=m;k>=1;k--)
{
if(s[k]>=10)
cout<<(char)(s[k]+55);
else
cout<<s[k];
}
return 0;
}追问

老师,可不可以注释一下呀?我是大一c语言初学,好多地方我看不明白

追答

第一个循环是把每次的余数存在数组里,第二个是输出数组中的值。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-23
教你算法,你不断用k除m,余数部分就是对应的k进制的位,再用k除刚才除法的结果
相似回答