HM064 三种建生方式

HM064 三种建生方式

HM064 三种建生方式

来源: 第 64 集 结构体-结构体定义和使用

难度: 入门

时间限制: 1s

空间限制: 64MB

题目描述

结构体是用户自定义的数据类型,允许把不同的数据类型放在一起。整型、浮点型、字符型、布尔型、字符串型都是编译器提供的内置类型;「人」「动物」「学生」这类类型编译器没有现成的,需要自己定义。自定义类型可以写任意多个。

定义结构体的语法是:关键字 struct、类型名称、花括号里的成员列表。**定义类型时 struct 不能省略。** 学生类型由若干内置类型组装而成,本题约定三个成员:姓名(字符串)、年龄(整数)、分数(整数)。用字符串需要包含 <string>。类型名称可以自定,但应能看出含义。

通过该类型创建具体学生有三种方式:

  1. 先写 struct Student s1;(创建变量时 struct 可以省略),再分别给字段赋值。访问成员必须用点号,例如 s1.names1.ages1.score
  2. 创建的同时按「姓名、年龄、分数」的顺序用花括号赋初值,例如 Student s2 = {"lisi", 19, 80};
  3. 在定义结构体的时候,在右花括号后面顺便写出一个变量名。这种方式较少用,因为别人阅读时容易忽略这个顺便创建的变量;看到别人这样写要能认出来。

读入三名学生的信息,分别按上述三种思想创建三个结构体变量,再用点号输出全部成员。

输入格式

三行,每行一个不含空格的字符串 \(name\) 和两个整数 \(age\)、\(score\),依次对应用第一种、第二种、第三种方式创建的学生。姓名长度不超过 \(20\),\(1 \le age \le 120\),\(0 \le score \le 100\)。

输出格式

三行,按读入顺序各输出一名学生的姓名、年龄、分数,相邻之间一个空格,行末换行。

样例

输入 #1

zhangsan 18 100
lisi 19 80
wangwu 20 60

输出 #1

zhangsan 18 100
lisi 19 80
wangwu 20 60

输入 #2

amy 15 90
bob 16 70
cara 17 55

输出 #2

amy 15 90
bob 16 70
cara 17 55

说明

必须先用 struct 定义类型。创建变量时可以不写 struct。访问成员一律用点号,不要漏掉 <string>。样例 1 对应三种创建方式各一名学生。第三种方式只要求能创建出第三个变量并赋值,不必真的把变量写在类型定义的右花括号后面。

信息

ID
1063
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者