c语言之进制转换(栈实现)
程序员文章站
2022-06-08 17:58:27
从上两篇博客中我们可以知道,栈具有后进先出的特性,而进制转换的打印输出刚好与计算过程相反,满足栈这后进先出的特性, 所以可以用栈很快的实现进制转换,下面是用栈实现进制转换的c函数
void co...
从上两篇博客中我们可以知道,栈具有后进先出的特性,而进制转换的打印输出刚好与计算过程相反,满足栈这后进先出的特性, 所以可以用栈很快的实现进制转换,下面是用栈实现进制转换的c函数
void conversion (sqstack *pstack,unsigned int n, const unsigned int d){ if( pstack == null)//当传入参数为指针,必须判空 exit(-1); int mod ;//保存mod = n %d while( n != 0){ mod = n %d; stack_push(pstack,&mod);//将mod入栈 n = n /d; } int top = 0;//显示栈顶元素 printf(将10进制的%d转为%d进制后为:,n,d); while(!stack_is_empty(pstack)){ stack_pop(pstack,&top); printf(%d,top); } return ; }
2.结果与结论
上一篇: 雷军:当务之急是恢复生产