C语言,请大佬帮我看看这里哪里有问题。

c语言一个数据计算上的问题,求大佬解答。
好像输入的在计算的时候发生了错误

#include <stdio.h>
#include<math.h>
void m1();
int main()
{
    system("color f1");
    m1();
    return 0;
}
void m1()
{
    int flag = 1;
    long double x,y;
    long double X,Y,Z;
    long double R,G,B;
    while(flag == 1)
    {

    printf("请输入Y,x,y:(输入格式:1 2 3\n");
    scanf("%Lf %Lf %Lf",&Y,&x,&y);
    printf("%Lf",Y);

    X = (x*(Y/y))/100;
    Z = ((1-x-y)*(Y/y))/100;
    printf("0 %Lf ",X);

    R = X*2.04137-Y*0.56495-Z*0.34469;
    G = Y*1.87601-X*0.96927+Z*0.04156;
    B = X*0.01345-Y*0.11839+Z*1.01541;
    printf("1 %Lf ",R);

    R = pow(R,(1/2.09921875));
    G = pow(G,(1/2.09921875));
    B = pow(B,(1/2.09921875));
    printf("2 %Lf ",R);

    R = R*255;
    G = G*255;
    B = B*255;
    printf("3 %Lf ",R);

    printf("R=%Lf G=%Lf B=%Lf\n",R,G,B);
    printf("\n-------------------------------\n");
    getchar();
    }

}
![图片说明](https://img-ask.csdn.net/upload/202004/13/1586772553_474741.png)

我看你那个flag循环好像是个死循环