如何在此程序中获取和查看c中的复杂类型输入?

时间:2017-12-19 17:12:18

标签: c++ c

在这段代码中,复杂的数据类型是用c ++进行的,而在c上进行转换时我不知道要接受输入并给出复杂数据类型的输出。有人可以帮我把它从c ++转换成c。有人会帮助我在此程序中获取输入并查看c中的复杂数据类型。

// c ++ program original

/***************** Newton horner's method ******************/
#include<iostream.h>
#include<conio.h>
#include<complex.h>
#include<math.h>
int main()
{
    complex a[20],b[20],c[20];
    complex x;
    int n,i;
    clrscr();

    cout<<"Enter the degree of equations : ";cin>>n;
    cout<<"Enter all coefficients \n";
    for(i=0;i<=n;i++)
        cin>>a[i];
    cout<<"enter initial guess:";cin>>x;

    while(n>0)
    {
        c[0]=b[0]=a[0];
        for(i=1;i<=n;i++)
            b[i]=a[i]+b[i-1]*x;
        for(i=1;i<n;i++)
            c[i]=b[i]+c[i-1]*x;
        if(abs(c[n-1])==0.0)   // for complex "abs" instead of "fabs"
        {
            cout<<"Divide by Zero : ERROR !! ";
            break;
        }
        x-=b[n]/c[n-1];
        if(abs(b[n]/c[n-1])<0.00001)
        {
            cout<<"\nRoot is: "<<x<<"f(x) "<<b[n];
            for(i=1;i<n;i++)
                a[i]=b[i];
            n--;
        }
    }
getch();
return 0;
}

我尝试将c ++转换为c虽然它不起作用。 &#34;我知道%f和%d是浮点数和整数但我正在尝试使用此代码。&#34;

/****************** Newton horner's method ******************/
#include<stdio.h>
#include<conio.h>
#include<complex.h>
#include<math.h>
int main()
{
    float a[20],b[20],c[20];
    float x;
    int n,i;

    printf("Enter the degree of equations : ");
    scanf("%d",&n);
    printf("Enter all coefficients \n");
    for(i=0;i<=n;i++)
        scanf("%f",&a[i]);enter code here
    printf("enter initial guess:");
    scanf("%f",&x);

    while(n>0)
    {
        c[0]=b[0]=a[0];
        for(i=1;i<=n;i++)
            b[i]=a[i]+b[i-1]*x;
        for(i=1;i<n;i++)
            c[i]=b[i]+c[i-1]*x;
        if(fabs(c[n-1])==0.0)   // for complex "abs" instead of "fabs"
        {
            printf("Divide by Zero : ERROR !! ");
            break;
        }
        x-=b[n]/c[n-1];
        if(abs(b[n]/c[n-1])<0.00001)
        {
            printf("\nRoot is: %f and f(x) is %f",x,b[n]);
            for(i=1;i<n;i++)
                a[i]=b[i];
            n--;
        }
    }
getch();
return 0;
}

0 个答案:

没有答案