C语言进阶-第29讲:枚举类型及其应用(对称点)

任务和代码:

/*  
*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)可知,枚举类型的变量作为函数参数如何在函数中调用


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值