第 16 章 C 预处理器和 C 库(直角坐标转换极坐标)
/*-------------------------------------
rect_pol.c -- 把直角坐标转换为极坐标
-------------------------------------*/ #include <stdio.h>
#include <math.h> #define RAD_TO_DEG (180 / (4 * atan(1.0))) typedef struct polar_v
{
double magnitude;
double angle;
} Polar_V; typedef struct rect_v
{
double x;
double y;
} Rect_V; Polar_V rect_to_polar(Rect_V); int main()
{
Rect_V input;
Polar_V result; puts("Enter x and y coordinates; enter q to quit:");
while (scanf("%lf %lf", &input.x, &input.y) == )
{
result = rect_to_polar(input);
printf("magnitude = %0.2f, angle = %0.2f\n", result.magnitude, result.angle);
} return ;
} Polar_V rect_to_polar(Rect_V rv)
{
Polar_V pv; pv.magnitude = sqrt(pow(rv.x, ) + pow(rv.y, ));
if (pv.magnitude == )
pv.angle = ;
else
pv.angle = RAD_TO_DEG * atan2(rv.y, rv.x); return pv;
}
rect_pol.c

第 16 章 C 预处理器和 C 库(直角坐标转换极坐标)的更多相关文章
- 第 16 章 C 预处理器和 C 库(可变参数:stdarg.h)
/*------------------------------------------------- varargs.c -- use variable number of arguments -- ...
- 第 16 章 C 预处理器和 C 库(string.h 库中的 memcpy() 和 memmove())
/*----------------------------------------- mems.c -- 使用 memcpy() 和 memmove() ---------------------- ...
- 第 16 章 C 预处理器和 C 库(qsort() 函数)
/*---------------------------------------- qsorter.c -- 用 qsort() 排序一组数字 --------------------------- ...
- 第 16 章 C 预处理器和 C 库(预定义宏)
/*------------------------------------- predef.c -- 预定义宏和预定义标识符 ------------------------------------ ...
- 第 16 章 C 预处理器和 C 库(条件编译)
/*-------------------------------------- names_st.h -- names_st 结构的头文件 ----------------------------- ...
- C++ primer plus读书笔记——第16章 string类和标准模板库
第16章 string类和标准模板库 1. string容易被忽略的构造函数: string(size_type n, char c)长度为n,每个字母都为c string(const string ...
- ASM:《X86汇编语言-从实模式到保护模式》第16章:Intel处理器的分页机制和动态页面分配
第16章讲的是分页机制和动态页面分配的问题,说实话这个一开始接触是会把人绕晕的,但是这个的确太重要了,有了分页机制内存管理就变得很简单,而且能直接实现平坦模式. ★PART1:Intel X86基础分 ...
- C和指针 (pointers on C)——第十四章:预处理器
第十四章 预处理器 我跳过了先进的指针主题的章节. 太多的技巧,太学科不适合今天的我.但我真的读,读懂.假设谁读了私下能够交流一下.有的小技巧还是非常有意思. 预处理器这一章的内容.大家肯定都用过.什 ...
- C Primer Plus--C预处理器和C库(1)
目录 预处理符号 明显常量 #define 编译程序之前,先由预处理器检查程序(因此称为预处理器).根据程序中使用的预处理器指令,预处理用符号缩略语所代表的内容替换程序中的缩略语. 预处理器可以根据你 ...
随机推荐
- 私服仓库 nexus 环境搭建(win10)
1.1 简介: Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库 ...
- Hadoop项目实战-用户行为分析之编码实践
1.概述 本课程的视频教程地址:<用户行为分析之编码实践> 本课程以用户行为分析案例为基础,带着大家去完成对各个KPI的编码工作,以及应用调度工作,让大家通过本课程掌握Hadoop项目的编 ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十八):注册中心(Spring Cloud Consul)
什么是 Consul Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与 ...
- Enumerable转换为DataTable
今天在项目组公共类库中发现一个 Enumerable类型转换为DataTable,写的挺精简的,拿出来跟大家共享一下. using System; using System.Collections.G ...
- DataAnnotations - InverseProperty Attribute:
DataAnnotations - InverseProperty Attribute: We have seen in the Code-First Convention section that ...
- Apollo 3 定时/长轮询拉取配置的设计
前言 如上图所示,Apollo portal 更新配置后,进行轮询的客户端获取更新通知,然后再调用接口获取最新配置.不仅仅只有轮询,还有定时更新(默认 5 分钟一次).目的就是让客户端能够稳定的获取到 ...
- Groovy学习笔记(1)读取CSV文件
本篇分享讲展示如何在Groovy中读取CSV文件. 我们要读取的CSV文件foo.csv的内容如下: Groovy代码如下: //import packages import java.i ...
- int和Integer有什么区别?
Java提供两种不同的类型:引用类型和原始类型(或内置类型): int是Java的原始数据类型,Integer是java为int提供的封装类. java为每个原始类型提供了封装类: 原始类型:bool ...
- IDEA 在使用的过程中字符间距变大的问题
解决办法:shift+空格半角全角快捷键
- Android学习笔记----Java中的字符串比较
用习惯了C#.C++,在做字符串比较时想当然地使用如下语句: string str1 = "abcd", str2 = "abcd"; if(str1==str ...