标题:此程序求两复数减法运算,帮看一下为何出错?
只看楼主
动力天
Rank: 2
来 自:广西桂林
等 级:论坛游民
帖 子:30
专家分:11
注 册:2010-9-11
结帖率:100%
已结贴  问题点数:20 回复次数:11 
此程序求两复数减法运算,帮看一下为何出错?
#include "stdio.h"
typedef.struct
{
    float read,imag;
}complex;
 complex sub(complex fs1,complex fs2)
{
    complex fs3;
    fs3.read=fs1.read-fs2.read;
    fs3.imag=fs1.imag-fs2.imag;
    return fs3;
}

main()
{
    complex fs1,,fs2,fs3;
    float a,b,c,d;
    printf("输入复数FS1实虚部:、\n");
        scanf("%f%f",&a,&b);
    fs1.read=a;
    fs1.imag=b;
    printf("输入复数FS2实虚部:\n");
    scanf("%f%f',&c,&d);
        fs2.read=c;
    fs2.imag=d;
    printf("所输入的两复数分别为:\n");
    printf("fs1=%f+%fi",fs1.read,fs2.imag);
    printf("fs2=%f+%fi",fs2.read,fs2.imag);
    fs3=sub(fs1,fs2);
    printf("fs3=fs1-fs2=%f+%fi",fs3.read,fs3.imag);
}

搜索更多相关主题的帖子: 运算 复数 减法 
2010-09-11 15:13
动力天
Rank: 2
来 自:广西桂林
等 级:论坛游民
帖 子:30
专家分:11
注 册:2010-9-11
得分:0 
高手帮忙看一下!谢谢!

爱上爱,敢想,世界就有可能!
2010-09-11 15:14
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
得分:3 
complex fs1,,fs2,fs3;
2010-09-11 15:43
动力天
Rank: 2
来 自:广西桂林
等 级:论坛游民
帖 子:30
专家分:11
注 册:2010-9-11
得分:0 
回复 2楼 动力天
那个是我发帖时写错的,编译后检查时提示是红色处出错误,但我不知怎么个错法……
#include "stdio.h"
typedef.struct
{
    float read,imag;
}complex;
complex sub(complex fs1,complex fs2)
{
    complex fs3;
    fs3.read=fs1.read-fs2.read;
    fs3.imag=fs1.imag-fs2.imag;
    return fs3;
}

main()
{
    complex fs1,,fs2,fs3;
    float a,b,c,d;
    printf("输入复数FS1实虚部:、\n");
        scanf("%f%f",&a,&b);
    fs1.read=a;
    fs1.imag=b;
    printf("输入复数FS2实虚部:\n");
    scanf("%f%f',&c,&d);
        fs2.read=c;
    fs2.imag=d;
    printf("所输入的两复数分别为:\n");
    printf("fs1=%f+%fi",fs1.read,fs2.imag);
    printf("fs2=%f+%fi",fs2.read,fs2.imag);
    fs3=sub(fs1,fs2);
    printf("fs3=fs1-fs2=%f+%fi",fs3.read,fs3.imag);
}

爱上爱,敢想,世界就有可能!
2010-09-11 16:39
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
得分:3 
程序代码:
#include "stdio.h"
typedef struct//改动1多了个点
{
    float read,imag;
}complex;
complex sub(complex fs1,complex fs2)
{
    complex fs3;
    fs3.read=fs1.read-fs2.read;
    fs3.imag=fs1.imag-fs2.imag;
    return fs3;
}

main()
{
    complex fs1,fs2,fs3;//多打个逗号
    float a,b,c,d;
    printf("输入复数FS1实虚部:、\n");
        scanf("%f%f",&a,&b);
    fs1.read=a;
    fs1.imag=b;
    printf("输入复数FS2实虚部:\n");
    scanf("%f%f",&c,&d);//右边单引号改成双引号
        fs2.read=c;
    fs2.imag=d;
    printf("所输入的两复数分别为:\n");
    printf("fs1=%f+%fi",fs1.read,fs2.imag);
    printf("fs2=%f+%fi",fs2.read,fs2.imag);
    fs3=sub(fs1,fs2);
    printf("fs3=fs1-fs2=%f+%fi",fs3.read,fs3.imag);
}
这些都是低级错误啊!楼主好好看看给你改好了
2010-09-11 20:08
张华利
Rank: 2
等 级:论坛游民
帖 子:23
专家分:96
注 册:2010-7-18
得分:3 
typedef struct complex
{
    double x;  
    double y;  
}complexx,*complex_huali;
///////////////获取复数/////////////
void create_complex(double a,double b,complex_huali *f)
{
    *f=(complex_huali)malloc(sizeof(complexx));
    (*f)->x=a;
    (*f)->y=b;
    //printf("输入实部和虚部:\n");
    //scanf("%lf %lf",&(*f)->x,&(*f)->y);
}
///////////////复数加法/////////////
void complex_add(complex_huali *f1,complexx f2,complex_huali *f3)
{
    *f3=(complex_huali)malloc(sizeof(complexx));
    (*f3)->x=(*f1)->x+f2.x;
    (*f3)->y=(*f1)->y+f2.y;
}
2010-09-11 22:35
张华利
Rank: 2
等 级:论坛游民
帖 子:23
专家分:96
注 册:2010-7-18
得分:0 

    //加法
    complex_add(&f1,*f2,&f3);
    printf("相加等于(%lf)+(%lf)i\n",(*f3).x,(*f3).y);
2010-09-11 22:36
张华利
Rank: 2
等 级:论坛游民
帖 子:23
专家分:96
注 册:2010-7-18
得分:0 

    complex_huali f1,f2,f3;
    f1=(complex_huali)malloc(sizeof(complexx));
    f2=(complex_huali)malloc(sizeof(complexx));
    f3=(complex_huali)malloc(sizeof(complexx));
    //构造一个复数
    printf("计算复数1+2i和3+4i的加减乘除:\n");
    create_complex(1,2,&f1);  //
    create_complex(3,4,&f2);  //
    //或者直接赋值,必须先对f1,f2,f3开辟内存空间
    f1->x=1;
    f1->y=2;
    f2->x=3;
    f2->y=4;
    //加法
    complex_add(&f1,*f2,&f3);
    printf("相加等于(%lf)+(%lf)i\n",(*f3).x,(*f3).y);
2010-09-11 22:36
阿全
Rank: 2
等 级:论坛游民
帖 子:16
专家分:14
注 册:2010-9-8
得分:0 
#include "stdio.h"
#include"stdlib.h"
typedef struct
{
    float read,imag;
}complex;
complex sub(complex fs1,complex fs2)
{
    complex fs3;
    fs3.read=fs1.read-fs2.read;
    fs3.imag=fs1.imag-fs2.imag;
    return fs3;
}

 int main()
{
    complex fs1,fs2,fs3;
    float a,b,c,d;
    printf("输入复数FS1实虚部:\n");
        scanf("%f%f",&a,&b);
    fs1.read=a;
    fs1.imag=b;
    printf("输入复数FS2实虚部:\n");
    scanf("%f%f",&c,&d);
        fs2.read=c;
    fs2.imag=d;
    printf("所输入的两复数分别为:\n");
    printf("fs1=%f+%fi",fs1.read,fs1.imag);
    printf("fs2=%f+%fi",fs2.read,fs2.imag);
    fs3=sub(fs1,fs2);
    if(fs3.imag>0)
    printf("fs3=fs1-fs2=%f+%fi",fs3.read,fs3.imag);
    if(fs3.imag==0)
    printf("fs3=fs1-fs2=%f",fs3.read);
    if(fs3.imag<0)
    printf("fs3=fs1-fs2=%f%fi",fs3.read,fs3.imag);
    if(fs1.read==fs2.read&& fs2.imag==fs1.imag)
    printf("fs3=fs1-fs2=0\n");
     if(fs3.read==0)
    printf("fs3=fs1-fs2=%fi",fs3.imag);
    system("pause");
}
2010-09-12 23:14
阿全
Rank: 2
等 级:论坛游民
帖 子:16
专家分:14
注 册:2010-9-8
得分:3 
应该没错
2010-09-12 23:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-320133-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.256171 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved