解题思路:
注意事项:
参考代码:这道题其实不难,一个递归函数就解决了
#include<cstdio> using namespace std; int d2b(int n,int b,char c[]) { int i=0,k; while(n!=0) { k=n%b; n/=b; if(k<0){k-=b;n+=1;}//这里是负进制的重点 if(k>9)c[i]=char(k-10+'A'); else c[i]=char(k+'0'); i++; } return i-1; }int main() { int a,n,i; char b[40]; scanf("%d %d",&a,&n); printf("%d=",a); if(a==0)printf("0"); for(i=d2b(a,n,b);i>=0;i--) printf("%c",b[i]); printf("(base%d)",n); }
0.0分
3 人评分
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:626 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:1052 |
WU-蓝桥杯算法提高VIP-交换Easy (C++代码)浏览:1186 |
三角形 (C语言代码)浏览:965 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:590 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:438 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:650 |
Pascal三角 (C语言代码)浏览:707 |
敲七 (C++代码)浏览:1119 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:1060 |