本文目录一览

1,C语言实现进制转换

void change(int sum)//sum为十进制数 { int x,y,i=0; char num[30]; while((x=sum/8)!=0) { y=sum%8; num[i++]=(char)(y+48); sum=x; } num[i]=(char)(sum+48); printf("和为:"); for(;i>=0;i--) printf("%c",num[i]); }//十进制转换为八进制

C语言实现进制转换

2,C语言 进制转化急急急

#include<stdio.h>#include<stdlib.h> void print7(int x) if(x>0) print7(x/7); printf("%d",x%7); }} int transform(int x) int p=0,q=0; int d[16]; int n=0; do q=x%7; x/=7; d[n++]=q; }while(x>0); // 对于10进制56,数组中保存的是d[]= q=0; for(p=n-1;p>=0;p--) q=q*10+d[p]; } return q; // 对于10进制56,返回值为七进制110}int main(void) int n,m; printf("请输入一个十进制的数:"); scanf("%d",&n); m=transform(n); printf("转化成七进制为:%d\n",m); printf("以下采用递归方式:"); print7(n); printf("\n"); system("pause"); return 0;}

C语言 进制转化急急急

3,c语言 进制转化 急急急急急急急

你怎么把前面的问题关闭了?我刚回复你的。。。 #include<stdio.h>#include<stdlib.h> void print7(int x) if(x>0) print7(x/7); printf("%d",x%7); }} int transform(int x) int p=0,q=0; int d[16]; int n=0; do q=x%7; x/=7; d[n++]=q; }while(x>0); // 对于10进制56,数组中保存的是d[]= q=0; for(p=n-1;p>=0;p--) q=q*10+d[p]; } return q; // 对于10进制56,返回值为七进制110}int main(void) int n,m; printf("请输入一个十进制的数:"); scanf("%d",&n); m=transform(n); printf("转化成七进制为:%d\n",m); printf("以下采用递归方式:"); print7(n); printf("\n"); system("pause"); return 0;}

c语言 进制转化 急急急急急急急

4,C语言编程问题之进制转换

#include "stdio.h" #define M 100 typedef struct stack{ int s[M]; int tail; }Stack; void init(Stack *s) { for(int i=0; is[i] = 0; s->tail = -1; } int empty(Stack * s) { if(s->tail == -1) return 1; else return 0; } void push(Stack *s, int x) { if(s->tail == M-1) { printf("\n栈满!\n"); } else { s->tail++; s->s[s->tail] = x; } } void pop(Stack *s) { if(empty(s)) { printf("\n栈空!\n"); } else { if(s->s[s->tail] >= 10) printf("%c",s->s[s->tail]+55); else printf("%d",s->s[s->tail]); s->tail--; } } void fun(Stack *s, int n, int k) { int mod; while(n) { mod = n%k; push(s,mod); n = n/k; } while(!empty(s)) { pop(s); } printf("\n"); } void main() { Stack s; init(&s); int n,k; printf("请输入要转换的数(十进制数,进制):"); scanf("%d,%d",&n,&k); printf("转换成%d进制:",k); fun(&s,n,k); }

5,用C语言编程将十进制转换为二进制和十六进制

#include "stdio.h"#include "math.h"#include "stdlib.h"rzs(long int *w,long int j);szr(long int *w,long int d);main() long int a,b,c,x,y; char e[50]; while(1) do printf("输入转换的原进制数:"); scanf("%ld",&b); fflush(stdin); }while(b!=2&&b!=8&&b!=16&&b!=10); do printf("输入转换之后的进制数:"); scanf("%ld",&c); fflush(stdin); }while(c!=2&&c!=8&&c!=16&&c!=10); if(b==10&&c==16) printf("输入要进行转换的数字:"); scanf("%ld",&a); printf("%x\n",a); } else if(b==16&&c==10) printf("输入要进行转换的数字:"); scanf("%x",&a); printf("%ld\n",a); } else if((b==2||b==8)&&c==10) printf("输入要进行转换的数字:"); scanf("%ld",&a); rzs(&a,b); printf("%ld\n",a); } else if(b==10&&c==8) printf("输入要进行转换的数字:"); scanf("%ld",&a); szr(&a,c); printf("%ld\n",a); } else if(b==2&&c==8||c==2&&b==8) printf("输入要进行转换的数字:"); scanf("%ld",&a); rzs(&a,b); x=a; szr(&x,c); printf("%ld\n",x); } else if((b==2||b==8)&&c==16) printf("输入要进行转换的数字:"); scanf("%ld",&a); rzs(&a,b); printf("%x\n",a); } else if(b==16&&(c==8||c==2)) printf("输入要进行转换的数字:"); scanf("%x",&a); itoa(a,e,2); printf("%s\n",e); } else if(b==10&&c==2) printf("输入要进行转换的数字:"); scanf("%ld",&a); itoa(a,e,2); printf("%s\n",e); } }}rzs(long int *w,long int j) long int k=0,b=0,a[32],f[32],i,c,d=10,e=1; k=*w; for(c=0;c<32;c++) if(k/e%d==0) a[c]=0; e=e*10; } else a[c]=k/e%d; e=e*10; } } for(i=0;i<32;i++) f[i]=pow(j,i); } c=0,i=0; while(c<32||i<32) b=b+a[c++]*f[i++]; } *w=b;}szr(long int *w,long int d) long int a[1000],b=0,i,c=0,e=1,j=0; b=*w; for(i=0;;i++) a[i]=b%d; b=b/d; c++; if(b==0) break; } i=c; while(i>0) a[i]=a[i]*pow(10,i); e=e/10; i--; } for(i=0;i<c;i++) j+=a[i]; } *w=j;}
//十进制转换成二进制,转成16进制懒得写,原理差不多#include<stdio.h>int main() int a,sz[100]; int b,c,d=0,l; for(b=0;b<101;b++) sz[b]=0; printf("请输入一个十进制的整数:\n"); scanf("%d",&a); l=a; printf("\n"); while(a) c=a%2; a=a/2; sz[d]=c; d++; } int e; for(e=100;e>=0;e--) if(sz[e]!=0) break; } printf("十进制数%d转换成二进制数为:",l); int i; for(i=e;i>=0;i--) printf("%d",sz[i]); printf("\n");}

文章TAG:c语言进制转换  C语言实现进制转换  
下一篇