任务和代码:
/*
*All rights reserved
*文件名称:main.c
*作者: Osseyda
完成日期:2017.11.27
*版本号:v2.
*
*问题描述:设计函数,可以按指定的方式,输出一个平面点的对称点
*/
#include <stdio.h>
enum SymmetricStyle{axisx, axisy, point};//分别表示按x轴, y轴, 原点对称三种方式
void output(double,double,enum SymmetricStyle);
int main(){
double x,y;
printf("输入点的坐标:");
scanf("%lf %lf", &x, &y);
printf("关于x轴的对称点是:");
output(x,y,axisx);
printf("关于y轴的对称点是:");
output(x,y,axisy);
printf("关于坐标原点的对称点是:");
output(x,y,point);
return 0;
}
void output(double p,double q,enum SymmetricStyle style){
switch(style){
case axisx:
printf("(%.2f, %.2f)\n",-p,q);
break;
case axisy:
printf("(%.2f, %.2f)\n",p,-q);
break;
case point:
printf("(%.2f, %.2f)\n",-p,-q);
}
}
运行结果:
知识点总结:
1)枚举类型使用户能够自己定义标识符表示变量的值
2)枚举类型的变量只能是枚举元素之一
3)枚举元素按常量处理,编译按定义的顺序对它们赋值为0,1,2...
也可以在声明枚举类型时另行指定枚举元素的值
4)由2)、3)可知,由于枚举变量的赋值,一次只能存放枚举结构中的某个常数。
5)由2)可知,枚举类型的变量作为函数参数如何在函数中调用