《C语言及程序设计》实践参考——对称点

返回:贺老师课程教学链接

【项目1-对称点】
设计函数,可以按指定的方式,输出一个平面点的对称点
下面给出枚举类型定义和main函数(测试函数),请写出output函数的实现。

#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;
}

这里写图片描述

[参考解答]

#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 x,double y, enum SymmetricStyle s)
{
    switch(s)
    {
    case axisx:
        printf("(%.2lf, %.2lf)", x, -y);
        break;
    case axisy:
        printf("(%.2lf, %.2lf)", -x, y);
        break;
    case point:
        printf("(%.2lf, %.2lf)", -x, -y);
        break;
    }
    printf("\n");
    return;
}
发布了2339 篇原创文章 · 获赞 4624 · 访问量 844万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览