| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5001 人关注过本帖
标题:复数加减求绝对值
只看楼主 加入收藏
王小贱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: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册: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
快速回复:复数加减求绝对值
数据加载中...
 
   



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

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