Problem Description
输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。
Input
第一行输入需要转换的十进制非负整数;
第二行输入 R。
Output
输出转换所得的 R 进制数。
Sample Input
1279 8
Sample Output
2377
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
int *base;
int *top;
int len;
} sq;
sq begin()
{
sq s;
s.base=(int *)malloc(sizeof(int)*100);
s.top=s.base;
s.len=0;
return s;
}
void push(sq *s,int e)
{
*(s->top)=e;//meiemeieieieieieieiie
s->top++;
s->len++;
}
/*void pop(sq *s)
{
s->top--;
}*/
int empty(sq *s)
{
if(s->top==s->base)
return 1;
else return 0;
}
int main()
{
int x,c;
sq s;
scanf("%d%d",&x,&c);
s=begin();
if(x==0)
push(&s,0);
else
while(x!=0)
{
push(&s,x%c);
x=x/c;
}
while(!empty(&s))
{
printf("%d",*(s.top-1));
s.top--;
}
printf("\n");
return 0;
}