当前位置 博文首页 > L_add的博客:顺序队列实现小数进制转换

    L_add的博客:顺序队列实现小数进制转换

    作者:[db:作者] 时间:2021-08-27 10:02

    #include <stdio.h>
    #include <stdlib.h>
    #define MAXSIZE 100
    typedef struct
    {	
        int data[MAXSIZE];	
        int front,rear;
    }SeqQueue;
    int InitQueue(SeqQueue *Q)
    {	
        Q->front=Q->rear=-1;	
        return 1;
    }
    int IsEmpty(SeqQueue *Q)
    {
        if(Q->front==Q->rear)
            return 1;
        else 
            return 0;
    } 
    int InQueue(SeqQueue *Q, int x)
    {	
        if(Q->rear<MAXSIZE-1)
    		{		
    		    Q->rear++;                   	        
    		    Q->data[Q->rear]=x;             
    		    return  1;
    		}	
    		else		
    		    return 0;
    } 
    int OutQueue(SeqQueue *Q)
    {    
        int x;	
        x=Q->data[Q->front+1];	
        Q->front++;	
        return x;
    }
    int Convert(float n,int r)
    {	
        int x,m=0;   
        SeqQueue *Q,Q1;	
        Q=&Q1;	
        InitQueue(Q);	
        while(n&&m<10)	
        {		
            n*=r;
            x=(int)float(n);		 
            InQueue(Q,x);		
            n-=x;		
            m++;	
         }	
        printf("转换后的%d进制小数是:0.",r);	
        while(!IsEmpty(Q))	
        {		
            x=OutQueue(Q);	
            printf("%d",x);	
        }	
        printf("\n");
        return 1;
    }
    int main()
    {	
        float n;
        int r;
        printf("输入待转化十进制小数:");	
        scanf("%f",&n);	
        printf("输入目标数制:");	
        scanf("%d",&r);	
        Convert(n,r);	
        return 1;
    }
    
    cs
    下一篇:没有了