第十五章的练习我这里就直接跳过了,因为一般情况下不太用得上。
因此就直接开始第十六章的练习了!
目录
先看这里:
博主的编译环境:
VS 2017 Community
运行环境:Windows 10
因为到了后期每个练习的代码量是越来越大的,
所以如果大家复制不了或者想轻松一下的,可以直接从下面的网址下载源码:
另外:如果网盘提示你下载客户端,可以单个地下载,这样不用下载客户端
链接:https://pan.baidu.com/s/1YOAMrXZm5Jb3A-LgZBwLEA
提取码:uh57
题目+源码+运行效果:
P16-1:
开发一个包含你需要的预处理器定义的头文件。
//useful functions are included here
//Func.h
#ifndef FUNC_H
#define FUNC_H#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define QUIT 5
#define SPACE ' '
#define SIZE 100#endif
P16-2:
两数的调和平均数这样计算:先得到两数的倒数,然后计算两个倒数的平均值,最后取计算结果的倒数。
使用 #define 指令定义一个宏 "函数" ,执行该运算。编写一个简单的程序测试该宏。
#include <stdio.h>
#define harmonic(numa, numb) (1 /((1 / (numa) + 1 / (numb)) / 2))
int main(void)
{
double numa = 3, numb = 3;printf("the harmonic mean of 3 and 3 is %.2f.", (double) harmonic(numa, numb));
return 0;
}
P16-3:
极坐标使用向量的模和向量相对 X 轴逆时针旋转的角度来描述该向量。直角坐标用向量的
X 轴和 Y 轴来描述该向量。编写一个程序,读取向量的模和角度(单位:度)
然后显示 X 轴和 Y 轴的坐标。相关方程:X = r * cos A Y = r * sin A
需要一个函数来完成转换,该函数接受一个包含极坐标的结构,
并返回一个包含直角坐标的结构(或指向该结构的指针)
/*
16-3
一弧度 = PI / 180
*/#include <stdio.h>
#include <math.h> //provide sin(), cos()#defi