任意数制间的转换(C语言实现)
来源:百度知道 编辑:UC知道 时间:2024/05/28 07:41:56
要求:1.用栈实现.
2.可以进行任意数制间的转化,如2进制转换为8,10,16.8进制转换为2,10,16.10进制转换为2.8.16.16进制转换为2.8.10.
3.这一切必须是在一个程序中实现!
4.最好能给必要的关键语句加上中文注释!
2.可以进行任意数制间的转化,如2进制转换为8,10,16.8进制转换为2,10,16.10进制转换为2.8.16.16进制转换为2.8.10.
3.这一切必须是在一个程序中实现!
4.最好能给必要的关键语句加上中文注释!
- #include<stdio.h>
- #include<stdlib.h>
- #define err(s,x) {perror(s);exit(x);}
- int main()
- {
- int hour=0,fen=0;
- printf("Enter a 24-hour time:");
- scanf("%d:%d",&hour,&fen);
- if(hour>=24 || hour<0)
- err("hour",1);
- if(fen<0 || fen>=60)
- err("fen",2);
- if(hour>12&&hour<24)
- {
- printf("Equivalent 12-hour time:%d:%.2d PM",hour-12,fen);
- }
- else