C语言数据结构之十进制转任意进制

来源:互联网 发布:电脑下载iphone软件 编辑:程序博客网 时间:2024/05/17 02:00
#include<stdio.h>#include<stdlib.h>#define N 100 typedef struct//栈的结构定义  {   int elem[N]; int top;//栈顶  }Stack;  typedef struct //循环队列的结构定义 {  int elem[N];int front; int rear; }Queue;  int Exchange(Stack *); void main() {   int result;Stack s;s.top=0;//栈顶指向当前栈顶的下一位置  Queue q;q.front=q.rear=0;              Exchange(&s);   getchar();    printf("\n退出程序(Y/N):");  //exit=getchar();getchar();  }  int Exchange(Stack *s) {   int r,a,b,n,i;//r是十进制数,a是需要转换的进制数,b是余数,n是栈的长度 s->top=0;  printf("请输入需要操作十进制数:\n"); scanf("%d",&r); printf("需要将该数转换为多少进制的数?\n");  scanf("%d",&a); while(r!=0)  {  b=r%a; r=r/a; s->elem[s->top++]=b; }   n=s->top-0; printf("栈中元素依次出栈:"); for(i=0;i<n;i++)  {  b=s->elem[--s->top]; //先将栈顶指针下移一位,然后取出元素值赋值给e   printf("%x",b); }   printf("\n");    return 0; }

0 0
原创粉丝点击