21. 21十进制数N转换为d进制数算法原理:
N = (N div d) * d + N mod d
(1348)10=(2504)8 运算过程:【算法见“A3_1.cpp”】NN div 8N mod 8134816841682102125202应用举例-特点:计算过程从低位到高位产生,输出从高位到低位。
65. void menu()
{
printf("\n* * * * * * * * * * * * * * * * * * * * \n\n");
printf(" 1 ------- EnQueue a data in the Queue.\n");
printf(" 2 ------- DeQueue the Queuefront data in the Queue.\n");
printf(" 3 ------- PrintFront.\n");
printf(" 6 ------- Exit.\n");
printf("* * * * * * * * * * * * * * * * * * * * \n\n");
}代码
66. void menuselect(SqQueue *Q) {
int k,done=1; ET e;
while (done) {
menu();
printf("please choose:"); scanf("%d",&k); getchar();
switch(k){
case 1: printf("Input the data you want to Insert:");
e=getchar(); printf("\n");
EnQueue(Q,e);
break;
case 2:DeQueue(Q,&e);printf("e = %c\n",e); break;
case 3:if(GetHead(Q,&e)==ERROR)
printf("It is empty!\n");
else
printf("e = %c\n",e);break;
case 6:done=0;
} } }
67. void main() {
SqQueue Q; int i,j; ET e;
InitQueue(&Q);
printf("Input the number of the Queue data:");
scanf("%d",&i);
getchar();
printf("\n");
printf("Input the data of the Queue:\n");
for (j=1;j<=i;j++){
e=getchar();
EnQueue(&Q,e);
}
menuselect(&Q);
}