c++ 十进制转三进制?

作者&投稿:耿唐 (若有异议请与网页底部的电邮联系)
将10进制转为三进制的c语言~

#include #include #define N 30int main(){ int a[N],m,i=0,t; printf("请输入一个10进制数:
"); scanf("%d",&m);t=m;while(t){t/=3;a[i++]=m-3*t;m=t;}printf("转换成3进制数为:
"); while(i)printf("%d",a[--i]);printf("
"); return 0;}希望对你有所帮助,满意请采纳,谢谢!!

帮你修改好了,另外给你一个我做的,多个方法。递归做的//----------------------------------------------#include<iostream>usingnamespacestd;intmain(){inty,m,x[100],i=0;cout<<"请输入需要转换至进制数:";cin>>y;cout<<"请输入数字:";cin>>m;do{x[i]=m%y;m=m/y;i++;}while(m!=0);for(inta=i-1;a>=0;a--)cout<<x[a];cout<<endl;system("pause");return0;}//----------------------------------------------------------------#include<stdio.h>voidprintd(intn,intm){if(n<0){putchar('-');n=-n;}if(n/m)printd(n/m,m);putchar(n%m+'0');}voidmain(){intn;//进制转换的数printf("输入需要转换的数.
");scanf("%d",&n);//输出printf("
二进制:");printd(n,2);printf("
三进制:");printd(n,3);printf("
四进制:");printd(n,4);printf("
五进制:");printd(n,5);printf("
六进制:");printd(n,6);printf("
七进制:");printd(n,7);printf("
八进制:");printd(n,8);printf("
九进制:");printd(n,9);printf("
十进制:");printd(n,10);printf("
");}


#include <stdio.h>

#include <string.h>


 // 将十进制数dnum转换为k进制串,并返回

char *D2K(int dnum, int k, char *kstring) {

        int i,j,t,sign = 0;

        if(k < 2 || k > 36) {

                printf("仅支持 2 到 36 进制之间的转换。
");

                strcpy(kstring,"*** 无效转换 ***
");

                return kstring;

        }

        if(dnum < 0) {

                sign = 1;

                dnum = -dnum;

        }

        for(i = 0; dnum; ++i) {

                t = dnum % k;

                if(t > 9) kstring[i] = t - 10 + 'A';

                else kstring[i] = t + '0';

                dnum /= k;

        }

        if(sign) kstring[i++] = '-';

        kstring[i] = '\0';

        for(j = 0; j < i/2; ++j) {

                t = kstring[j];

                kstring[j] = kstring[i - 1 - j];

                kstring[i - 1 - j] = t;

        }

        return kstring;

}


int main(void) {

        unsigned a[] = {36,20,54,12,9,89,88,190,127,255,256};

        int i,n = sizeof(a)/sizeof(a[0]);

        char s[201];

        for(i = 0; i < n;++i) printf("%d(10),%s(3)
",a[i],D2K(a[i],3,s));

        return 0; 

}



(三进制???总感觉你敲错字了,按照你的要求,继续)

代码:

#include <iostream>

using namespace std;

void functionA(int n);

int main()

{

int n = 0;

cout << "请输入:" << endl;

cin >> n;

functionA(n);

return 0;

}

void functionA(int n)

{

int i = 0;

int array[100] = {0};

while (n!=0)

{

array[i++] = n % 3;

n /= 3;

}

for (int j = i-1; j >= 0; --j)

cout << array[j];

}

运行结果:



该数模3,得到的一个数就是三进制的最低位;该数除以3,得到一个商数。
再将该商数一直模3、取商,直到商为0,之前的非0模数就是三进制的最高位。

#include <stdio.h>
void print3(int n) {
if (n == 0)
return;
print3(n / 3);
putchar("0123456789"[n % 3]);
}
int main(){
int n;
scanf("%d",&n);
print3(n);
return 0;
}




北票市18411295393: 用c++语言编写 将10进制正整数N转化成K进制按位输出 -
五勉枫蓼: /////////////////////////////////////////// C-Free 4.1// MinGW 3.4.5// veket的小号/////////////////////////////////////////#include <stdio.h> void DecToK(char *dec, char *kser, int k); void reverse(char *s); int main() { char a[1024] = "1234";//十进制数字的字符串 char b[1024];...

北票市18411295393: c语言中怎么转换为三进制 -
五勉枫蓼: 转为2进制会吧3进制类似 进行模3取余 然后逆序就可以了 参考代码#include <stdio.h> int main() { int n, l; int v[100]={0}; scanf("%d", &n); l = 0; while(n) { v[l++] = n%3; n/=3; } while(l--) { printf("%d", v[l]); } return 0; }

北票市18411295393: C++数制转换程序 -
五勉枫蓼: #include#define N 4 using namespace std; //定义函数 dectoother(),该函数能够将一个十进整数转换成其他进制的数 ,并将结果输出 void dectoother1(float number,int n) { int output[N][8] = {0},mod=0 ; int div=0; unsigned char b[N]={0}; for(int ...

北票市18411295393: 设计C++算法把一个十进制数转化为任意进制数. -
五勉枫蓼:[答案] 用除法,余数就是 结果的数字,商继续除法, 很简单的.模仿手工计算办法

北票市18411295393: C++编写一个程序,将用户输入的十进制整数转换成任意进制的数 -
五勉枫蓼: 1、首先,定义四个整型变量,保存十进制整数、二进制整数等计算值. 2、给变量i和二进制数赋初值,值为0. 3、接着,输入一个十进制整数. 4、用while语句判断,条件为十进制数是否为零. 5、当十进制数不为零时,对十进制数用2求余,保存在变量d中. 6、十进制数除以2,使数值缩小为原来的二分之一. 7、输出十进制数所对应的二进制数. 8、运行程序,输入任意一个十进制整数,计算机就会输出对应的二进制数.

北票市18411295393: 在C++中将一个十进制数转化为任意进制的程序
五勉枫蓼: 源程序如下: #include<iostream>//我这个程序只针对2~16进制的转换,因为最普及 using namespace std; char str[17]={"0123456789ABCDEF"};//为了使程序简化而提前定义将会输出的数字 int main() { int s,t; //s为要输入的十进制数,t为要...

北票市18411295393: 如何利用C++互相转换10(0~9)进制和36进制(0~9,A~Z)?请给出代码. -
五勉枫蓼: #include #include #include char exchange(int s)//将十进制转换成的36进制对应的数字换成字母 { char ch; if(s>9)//将大于10的数字换成相应的字母 ch=char('a'+s-10); else ch = char(s+'0');//小于10的数字保持不变 return ch; } int exchangealph(char s...

北票市18411295393: 在c++中编写一个程序实现进制转换. -
五勉枫蓼: #include #include #include char* DtoAn(double Res, char *Des, int DesType, int Precision) { inti_integer; doubled_decimal; charc_integer[1000], c_decimal[1000], idx= 1; strcpy(Des, ""); if(Res < 0) { Res= -Res; strcpy(Des, "-"); } i_integer= int(...

北票市18411295393: 用C++编程实现十进制与八进制的转换 -
五勉枫蓼: #includeusing namespace std; int ConvertNumber(int x,int n,int m) { int y,z,nn; y=0; nn=1; while ( x ) { y+=x%10*nn; x/=10; nn*=n; } z=0; nn=1; while ( y ) { z+=y%m*nn; y/=m; nn*=10; } return z; } void main() { int x,y; cin>>x; y=ConvertNumber(x,10,8); cout< >x; y=ConvertNumber(x,8,10); cout<<}

北票市18411295393: c++进制转换 -
五勉枫蓼: 十进制变二进制除2倒取余数,然后二进制变八进制,在变十六进制.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网