C語言中寫一個程式將浮點型轉化成字元型輸出

worlderdone發表於2018-04-30
#include<stdio.h>
#include<stdlib.h>
#include <string.h>
#define uchar unsigned char
#define uint unsigned int

int pows(int x)
{
	int y = 1;
	for (; x != 0; x--)
		y = y * 10;
	return y;
}

void display_result(double result)
{
    if(result<0)
    {
        printf("-");
        display_result(-result);
    }
    if(result>0)
    {
        double i;
        int x;
        uint y;
        i=1;
        for(x=0;i>=1;x++)
            i=result/pows(x+1);
        for(;x!=0;x--)
        {
            y=((uint)(result/pows(x-1)))%10;
            printf("%d",y);
        }
        printf(".");
        i=result-(uint)result;
        for(x=0;x<6;x++)
        {
            y=((uint)(i*pows(x+1)))%10;
            printf("%d",y);
        }
    }
}


int main()
{
	double num;
    scanf("%lf", &num);
    printf("%lf\n",num);
    display_result(num);
	return 0;
}
//如果將uint換成long可以轉化更大的浮點數

相關文章