标题:复数加减求绝对值
只看楼主
王小贱2016
Rank: 1
等 级:新手上路
帖 子:21
专家分:9
注 册:2016-4-23
结帖率:0
 问题点数:0 回复次数:5 
复数加减求绝对值
#include<stdio.h>
#include<math.h>

typedef struct
{
    float real,image;
}fushu;

fushu getFuShu();
void printFuShu(fushu c);
float juedui(float a);
fushu jiaFuShu(fushu c1,fushu c2);
fushu jianFuShu(fushu c1,fushu c2);   
fushu chengFuShu(fushu c1,fushu c2);
double jueduizhi(fushu c1);


void main(void)
{
fushu fu1,fu2;
fushu add;
fushu sub;
fushu ji;
float jue1,jue2;
printf("次程序将要实现复数的运算\n");

printf("获取第一个复数\n");
fu1=getFuShu();
printFuShu(fu1);
printf("\n");   

printf("获取第二个复数\n");
fu2=getFuShu();
printFuShu(fu2);
printf("\n");


printf("两个数相加运算\n");
add=jiaFuShu(fu1,fu2);
printFuShu(add);
printf("\n");

printf("两个复数相减运算\n");
sub=jianFuShu(fu1,fu2);
printFuShu(sub);
printf("\n");


printf("两个复数相乘运算\n");
ji=chengFuShu(fu1,fu2);
printFuShu(ji);
printf("\n");

jue1=(float)jueduizhi(fu1);
printf("第一个复数的绝对值: %.2f\n",jue1);
jue2=(float)jueduizhi(fu2);
printf("第二个复数的绝对值: %.2f\n",jue2);


}

fushu getFuShu()
{
    fushu a;
    printf("输入一个数作为实部\n");
    scanf("%f",(a.real));
    printf("输入一个数作为虚部\n");
    scanf("%f",(a.image));
    printf("\n");

}



void printFuShu(fushu c)
{
    float a,b,k;
    a=c.real;
    b=c.image;
    printf("结果是\n");
    printf("(");
    printf("%0.2f",a);
    if(b<0)
    {
        printf("%c",'-');
 
    }
    else
    {
        printf("%c",'+');
    }

    k=juedui(b);
    printf("%.2f",k);
    printf("i)");
    printf("\n");
        
}


float juedui(float a)
{
    if(a>=0)
        return a;
    else
        return -a;
}


fushu jiaFuShu(fushu c1,fushu c2)
{
    fushu c;
    c.real=c1.real+c2.real;
    c.image=c1.image+c2.image;
    return c;
}


fushu jianFuShu(fushu c1,fushu c2)   
{
    fushu c;
    c.real=c1.real-c2.real;
    c.image=c1.image-c2.image;
    return c;
}

fushu chengFuShu(fushu c1,fushu c2)
{
    fushu c;
    c.real=c1.real*c2.real-c1.image*c2.image;
    c.image=c1.real*c2.image+c1.image*c2.real;
    return c;

}


double jueduizhi(fushu c1)
{
    double c;
    c=sqrt(c1.real*c1.real+c1.image*c1.image);
    return c;
}

这个程序可以运行也可以编译,就是当输出一个数时按回车键时就立马停止运行了。
搜索更多相关主题的帖子: include double 绝对值 
2017-03-01 19:33
三多兄
Rank: 2
等 级:论坛游民
帖 子:6
专家分:25
注 册:2016-10-23
得分:0 
估计你用的是VS,在程序的结尾加 ""getchar(); "",或者system("pause");
2017-03-01 19:49
王小贱2016
Rank: 1
等 级:新手上路
帖 子:21
专家分:9
注 册:2016-4-23
得分:0 
回复 2楼 三多兄
我用的是vc呀
2017-03-01 20:05
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
scanf 后面要跟地址啊

DO IT YOURSELF !
2017-03-01 21:24
王小贱2016
Rank: 1
等 级:新手上路
帖 子:21
专家分:9
注 册:2016-4-23
得分:0 
回复 4楼 wp231957
是呀,这我咋没看到呢
2017-03-01 22:07
王小贱2016
Rank: 1
等 级:新手上路
帖 子:21
专家分:9
注 册:2016-4-23
得分:0 
回复 4楼 wp231957
这几天做P->做多了
2017-03-01 22:13



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




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

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