返回:贺老师课程教学链接
【项目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;
}