《C语言及程序设计》实践参考——点结构体

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

【项目3-点结构体】

下面定义了一个表示平面上一点的结构体类型:

struct Point
{
    float x;  //横坐标
    float y;  //纵坐标
};  

(1)请编写程序,输入一点的横纵坐标,输出该点到原点的距离
[参考解答]

#include <stdio.h>
#include <math.h>
struct Point
{
    float x;
    float y;
};

int main()
{
    struct Point p;
    float d;
    printf("请输入点的坐标: ");
    scanf("%f %f",&p.x, &p.y);
    d = sqrt(p.x*p.x+p.y*p.y);
    printf("该点到原点的距离是: %f", d);
    return 0;
}

(2)请编写程序,输入两点p1和p2的坐标,输出两点之间的距离,以及p1关于x轴的对称点,p2关于原点的对称点,运行结果如下图所示:

[参考解答]

#include <stdio.h>
#include <math.h>
struct Point
{
    float x;
    float y;
};
int main()
{
    struct Point p1, p2;
    float dx,dy,d;
    printf("请输入p1点的坐标: ");
    scanf("%f %f",&p1.x, &p1.y);
    printf("请输入p2点的坐标: ");
    scanf("%f %f",&p2.x, &p2.y);
    dx=p1.x-p2.x;
    dy=p1.y-p2.y;
    d = sqrt(dx*dx+dy*dy);
    printf("两点间的距离是: %.2f\n", d);
    printf("p1关于x轴的对称点是(%.1f, %.1f)\n", p1.x, -p1.y);
    printf("p2关于原点的对称点是(%.1f, %.1f)\n", -p2.x, -p2.y);
    return 0;
}  
时间: 2024-12-21 01:42:27

《C语言及程序设计》实践参考——点结构体的相关文章

《C语言及程序设计》实践参考——日期结构体

返回:贺老师课程教学链接 [项目6-日期结构体] (1)定义一个结构体变量(包括年.月.日),要求输入年.月.日,计算输出该日是该年的第几天. #include <stdio.h> struct Date { int year; int month; int day; }; int main() { struct Date date; printf("input year,month,day:"); scanf("%d %d %d", &date

《C语言及程序设计》实践参考——复数结构体

返回:贺老师课程教学链接 [项目1-复数结构体] 编写一个程序,首先定义一个复数数据类型,即结构类型.然后按照复数的运算规则进行计算,并按照复数表示的格式进行输出,请将程序补充完整. #include <stdio.h> struct complex { int re; int im; }; int main() { struct complex x,y,s,p; scanf("%d%d",&x.re,&x.im); scanf("%d%d&quo

C语言及程序设计进阶例程-12 结构体成员的引用

贺老师教学链接  C语言及程序设计进阶 本课讲解 结构体作函数参数 #include <stdio.h> struct Student { int num; char name[20]; char sex; int age; double score; char addr[30]; }; void print(struct Student s) { printf("%d %s %c\n", s.num, s.name, s.sex); //可再加-- return; } i

C语言及程序设计进阶例程-13 结构体数组及其应用

贺老师教学链接  C语言及程序设计进阶 本课讲解 结构体数组应用举例 #include <stdio.h> #include <string.h> typedef struct { char name[20]; int count; } Person; int main( ) { Person person[3]= {{"Li",0},{"Zhang",0},{"Fun",0}}; int i,j; char name[2

go语言通过反射获取和设置结构体字段值的方法_Golang

本文实例讲述了go语言通过反射获取和设置结构体字段值的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: type MyStruct struct {         N int } n := MyStruct{ 1 } // get immutable := reflect.ValueOf(n) val := immutable.FieldByName("N").Int() fmt.Printf("N=%d\n", val) // prints

《C++语言基础》实践参考——点、圆的关系

返回:贺老师课程教学链接  项目要求 [项目4 - 点.圆的关系](1)先建立一个Point(点)类,包含数据成员x,y(坐标点):(2)以Point为基类,派生出一个Circle(圆)类,增加数据成员(半径),基类的成员表示圆心:(3)编写上述两类中的构造.析构函数及必要运算符重载函数(本项目主要是输入输出):(4)定义友元函数int locate,判断点p与圆的位置关系(返回值<0圆内,==0圆上,>0 圆外): int main( ) { Circle c1(3,2,4),c2(4,5,

C++程序设计-第2周结构体应用

第一部分 程序阅读 下面的程序建立起了如图所示的动态链表.阅读程序,在草稿纸上画出链表建立的过程,借此学会如何建立链表.可以通过单步执行以辅助理解 #include <iostream> using namespace std; struct Student { long num; float score; struct Student *next; }; int main( ) { Student *head=NULL,*p,*q; //下面的程序建立起一个有三个节点的动态链表 for(in

编程c语言-编程小问题,关于结构体

问题描述 编程小问题,关于结构体 用结构体类型数组进行程序设计.有五个学生,每个学生的信息包括:学号,姓名,三门课的成绩和平均成绩.从键盘输入每个学生的学号,姓名和三门课的成绩,计算每个学生的平均成绩,计算并输出总平均成绩,求出最高分学生,并输出其信息(姓名和平均成绩). 实验步骤 ① 用一个函数输入五个学生的数据信息: ② 用一个函数求每个学生的平均成绩: ③ 用一个函数找出最高分的学生: ④ 主函数中调用相关函数,并输出总平均成绩和最高分学生的信息. 这是我写的代码 #include #de

编程c语言-vs2013中如何定义一个结构体该结构体定义一个结构体数组 结构体数组中包含一个链表

问题描述 vs2013中如何定义一个结构体该结构体定义一个结构体数组 结构体数组中包含一个链表 这样定义对么 编译时报错 缺少:在*前面 这是哪错了啊 请高手指点指点 解决方案 你把两个结构体的定义调换一下次序就没问题啦,要先声明或定义结构体:Station,才能使用 解决方案二: 因为struct Station是在struct Train结构体之后才定义的,所以你要在这之前先声明一下struct Train 解决方案三: 做一个前向声明,或者调换两个结构位置都可以. 解决方案四: 结构体数组