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

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

[参考解答]

#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;
}
上一篇:练习2-11 计算分段函数[2] (10 分)


下一篇:2017-2018-2 20155303『网络对抗技术』Exp7:网络欺诈防范