任意数制间的转换(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.最好能给必要的关键语句加上中文注释!

  1. #include<stdio.h>  
  2. #include<stdlib.h>  
  3. #define err(s,x) {perror(s);exit(x);}  
  4. int  main() 
  5.     int hour=0,fen=0; 
  6.     printf("Enter a 24-hour time:"); 
  7.     scanf("%d:%d",&hour,&fen); 
  8.      
  9.     if(hour>=24 || hour<0) 
  10.       err("hour",1); 
  11.     if(fen<0 || fen>=60) 
  12.       err("fen",2); 
  13.     if(hour>12&&hour<24) 
  14.     { 
  15.         printf("Equivalent 12-hour time:%d:%.2d PM",hour-12,fen); 
  16.     } 
  17.     else