本文实例讲述了C语言实现直角坐标转换为极坐标的方法。分享给大家供大家参考,具体如下:

#include

#include

struct complex_s{

double x,y;

};

double real_part(struct complex_s z){

return z.x;

}

double img_part(struct complex_s z){

return z.y;

}

double magnitude(struct complex_s z){

return sqrt(z.x*z.x + z.y*z.y);

}

double angle(struct complex_s z){

return atan2(z.y, z.x);

}

struct complex_s make_from_real_img(double x, double y){

struct complex_s z;

z.x = x;

z.y = y;

return z;

}

struct complex_s make_from_mag_ang(double r, double A){

struct complex_s z;

z.x = r * cos(A);

z.y = r * sin(A);

return z;

}

struct complex_s add_complex(struct complex_s z1,struct complex_s z2){

return make_from_real_img(real_part(z1)+real_part(z2),

img_part(z1) + img_part(z2));

}

struct complex_s sub_complex(struct complex_s z1,struct complex_s z2){

return make_from_real_img(real_part(z1)-real_part(z2),

img_part(z1) - img_part(z2));

}

struct complex_s mul_complex(struct complex_s z1,struct complex_s z2){

return make_from_mag_ang(real_part(z1)*real_part(z2),

img_part(z1) + img_part(z2));

}

struct complex_s div_complex(struct complex_s z1,struct complex_s z2){

return make_from_mag_ang(real_part(z1)/real_part(z2),

img_part(z1) + img_part(z2));

}

int main(void){

struct complex_s z1 = {3.0,4.0};

struct complex_s z2= {2.0,5.0};

struct complex_s x;

x = add_complex(z1,z2);

printf("x={%f,%f}",x.x,x.y);

return 0;

}

结果:

[root@localhost struct]# ./jizuobiao.out

x={5.000000,9.000000}

希望本文所述对大家C语言程序设计有所帮助。

C语言极坐标转直角坐标,C语言实现直角坐标转换为极坐标的方法相关推荐

  1. 极坐标 c语言,牛顿 拉夫逊迭代法极坐标潮流计算C语言程序

    <牛顿 拉夫逊迭代法极坐标潮流计算C语言程序>由会员分享,可在线阅读,更多相关<牛顿 拉夫逊迭代法极坐标潮流计算C语言程序(31页珍藏版)>请在人人文库网上搜索. 1.*利用牛 ...

  2. c语言 字母 八进制表示'/1011',C语言C语言第一课:C语言概述为什么学习C语言怎样学习C语言.DOC...

    [摘要]C语言 第一课: C语言概述 为什么学习C语言 怎样学习C语言 参考资料 ----------------------------------------------------------- ...

  3. bool类型返回值_Python 到底是强类型语言,还是弱类型语言?

    推荐三个网站 1.Python进阶知识: http://python.iswbm.com  2.Python魔法技巧: http://magic.iswbm.com 3.PyCharm 手册: htt ...

  4. 《C Primer Plus(第6版)中文版》一第1章 初识C语言1.1 C语言的起源

    本节书摘来自异步社区<C Primer Plus(第6版)中文版>一书中的第1章,第1.1节,作者 傅道坤,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第1章 ...

  5. 浅谈python语言_浅谈Python语言基础知识点!

    一.Python 语言的简述 Python语言是一种解释型.面向对象的编程语言,是一种开源语言. Python属于动态类定义语言,也是一种强调类型语言. 二.Python 语言的特点 1.简单.高级 ...

  6. R语言警告:Cannot compute exact p-value with ties的处理方法

    R语言警告:Cannot compute exact p-value with ties的处理方法 一.问题 [1] "检验Spearman相关性的显著性为:" Warning i ...

  7. c语言 hello world代码_C语言基础

    首先,还是从hello world开始. #include <stdio.h> int main(void) { printf("Hello Worldn"); ret ...

  8. C语言-人狼羊菜问题-最容易看懂的解决方法及代码

    C语言-人狼羊菜问题-最容易看懂的解决方法及代码 参考文章: (1)C语言-人狼羊菜问题-最容易看懂的解决方法及代码 (2)https://www.cnblogs.com/zandbin/p/5341 ...

  9. Swift2.0语言教程之Swift2.0语言中的标准函数

    Swift2.0语言教程之Swift2.0语言中的标准函数 Swift2.0中的标准函数 函数除了可以根据参数列表的有无分为无参函数和有参函数,还可以从定义角度分为用户自定义函数和标准函数两种.以上的 ...

最新文章

  1. python爬虫项目-32个Python爬虫实战项目,满足你的项目慌
  2. 收集常用的正则表达式
  3. Cf Round #403 B. The Meeting Place Cannot Be Changed(二分答案)
  4. 11.21 if条件语句 年月日执行判断
  5. 卷积为什么如此强大?一文全解深度学习中的卷积
  6. FreeBSD从零开始---安装后配置(三)
  7. uniapp 日期选择器_uniapp实现横向滚动选择日期
  8. 使用内存文件映射MappedByteBuffer读超大文件可能会遇到的问题
  9. 管理感悟:先做难度大的工作
  10. nsis访问php,Inetc是NSIS下载文件ftp文件显示进度条支持post和get操作的网络插件
  11. Android中添加商品的购物车
  12. InterviewQuestion
  13. mldonkey系列之三──Ini文件[zt]
  14. Python(大蟒蛇)与云计算
  15. 技嘉1080显卡体质测试软件,技嘉GTX1080 Xtreme Gaming显卡评测:创新的重峦式三风扇...
  16. 小花梨的三角形--美登杯
  17. 【ES】ES搜索结果中各个字段介绍,hits,took,timeout
  18. 从零开始学习VIO笔记 --- 第四讲:滑动窗口(基于滑动窗口算法的 VIO 系统:可观性和一致性)
  19. GDB调试c++代码相关资料
  20. PIC单片机与触摸屏串行通信MODBUS协议

热门文章

  1. 【华为推荐论文】如何学习未知样本?基于反事实学习的推荐系统技术研究(附论文下载链接)...
  2. 全球首发!计算机视觉Polygon Mesh Processing总结10——DEFORMATION
  3. 腾讯专家深度解析赛题,现场答疑助力上分!
  4. 深度学习基础 | 从Language Model到RNN
  5. python安装盒怎么打开_安装MySQL-python报错
  6. python的itertools库_Python标准库itertools模块使用方法
  7. PAT乙级1003我要通过!
  8. 吴恩达|机器学习作业6.0支持向量机(SVM)
  9. 吴恩达机器学习神经网络作业(python实现)
  10. 吴恩达深度学习神经网络基础编程作业Planar data classification with one hidden layer