实验九 结构体
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验九结构体
程序设计
1.阅读程序,写出程序运行结果,并说明理解。
#include
typedef union
{
long i;
int k[5];
char c;
}DATE;
struct date
{
int cat;
DA TE cow;
double dog;
}too;
DA TE max;
void main()
{
printf("%d %d %d\n",sizeof(struct date),sizeof(max),sizeof(struct date)+sizeof(max));
}
/*p11_1.c*/
2,结构类型处理学生数据
题目描述
输入n(1<=n<=10)和n个学生的数据,每个学生的数据包括学号、姓名、三门课的成绩。数据从键盘输入,输出每个学生的姓名三门课的分数及总分,以及总分最高的学生姓名。(要求定义一个表示学生数据类型的结构)
输入描述
输入n和n个学生数据(n是整数不超过10),学生数据由整数,字符串,和三个整数组成)
输出描述
每个学生数据占一行(包括学号姓名三门课成绩总分)
最后输出总分最高分学生姓名及总分
样例输入
3
1 zhangsan 80 90 60
2 lisi 50 30 20
3 zhaoliu 70 70 76
样例输出
1 zhangsan 80 90 60 230
2 lisi 50 30 20 100
3 zhaoliu 70 70 76 216
zhangsan 230
/*p11_2.c*/
3、复数的和与积
题目描述
输入两个复数,计算并输出它们的和与积。
注:两个复数的和:(A+Bi)+(C+Di)=(A+C)+(B+D)i
两个复数的积:(A+Bi)(C+Di)=(AC-BD)+(BC+AD)i
输入描述
每个复数占一行,依次输入实部和虚部。
输出描述
按照复数格式“A+Bi”依次输出复数的和与积,每个结果占一行,结果保留2位小数。样例输入
5.3 1.6
4.5 -7.1
样例输出
9.80-5.50i
35.21-30.43i
/*p11_3.c*/
4、复数的模
题目描述
知识点:结构体成员变量的输入输出
题目:定义结构体来表示复数,在键盘输入一个复数,计算其模后输出。struct comp
{
double x,y;//x表示实数,y表示虚数
double m;//m表示复数的模
};
输入描述
输入一个复数
输出描述
输出复数的模(结果保留3位小数)
样例输入
3+-4i
样例输出
5.000
/*p11_4.c*/
5、编写程序,输入某一时刻的时间,加一秒后输出新的时间,时间以时、分、秒表示(利用结构类型)
题目描述
编写程序,输入某一时刻的时间,加一秒后输出新的时间,时间以时、分、秒表示(利用结构类型)
输入描述
输入某一个时刻的时间
输出描述
输出这个时刻下一秒的时间,数字小于10的前面加个0输出
样例输入
19 3 12
样例输出
19:03:13
/*p11_5.c*/
6、平面向量加法(结构体)
题目描述
本题要求编写程序,计算两个二维平面向量的和向量。
输入描述
输入在一行中按照“x1 y1 x2 y2”的格式给出两个二维平面向量V1=(x1, y1)和V2=(x2, y2)的分量。
输出描述
在一行中按照“(x, y)”的格式输出和向量,坐标输出小数点后1位(注意不能
输出-0.0)。
样例输入
3.5 -2.7 -13.9 8.7 样例输出
(-10.4, 6.0)
/*p11_6.c*/