c++输入姓名和学号并打印
时间: 2024-09-27 22:18:10 浏览: 92
在C++中,你可以使用`cin`(标准输入流)从用户那里获取姓名和学号,并通过`cout`(标准输出流)将它们打印出来。下面是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
int main() {
string name; // 定义字符串变量存储姓名
int studentID; // 定义整数变量存储学号
// 输入姓名
cout << "请输入您的姓名:";
getline(cin, name); // 使用getline函数读取直到换行符的一行字符串
// 输入学号
cout << "请输入您的学号:";
cin >> studentID; // 使用cin直接读取整数
// 打印信息
cout << "您好," << name << "! 您的学号是:" << studentID << endl;
return 0;
}
```
在这个程序中,我们首先包含了`<iostream>`头文件,然后使用`getline`函数读取用户的全名(包括空格),`cin`用于读取整数类型的学号。最后,通过`cout`输出欢迎信息和学号。
相关问题
用c++1)一个班上有5名学生,每个学生的数据作为一个记录,每个记录包括学号、姓名、三门课程的成绩和三门课程平均成绩。从键盘输入学生的学号、姓名及三门课的成绩。要求按照平均成绩从高到低打印所有学生记录。
在C++中,你可以使用结构体定义学生的记录,然后创建一个动态数组或vector来存储学生信息,并通过比较平均成绩来进行排序。这里是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm> // 包含sort函数
// 定义学生记录结构体
struct Student {
int id;
std::string name;
double score[3]; // 三门课程的成绩
double average; // 平均成绩计算字段
// 构造函数初始化平均成绩
Student(int id, const std::string& name) : id(id), name(name) {
for (int i = 0; i < 3; ++i)
if (score[i] != 0) // 防止除以零
average = (average * (i - 1) + score[i]) / i;
}
};
bool compareAverage(const Student& a, const Student& b) { // 比较平均分降序
return a.average > b.average;
}
int main() {
int numStudents = 5;
std::vector<Student> students(numStudents);
for (size_t i = 0; i < numStudents; ++i) {
std::cout << "请输入第" << (i+1) << "位学生的学号、姓名以及三门课程的成绩(按空格分隔):" << std::endl;
std::cin >> students[i].id >> students[i].name;
// 输入成绩并计算平均分
for (int j = 0; j < 3; ++j) {
std::cin >> students[i].score[j];
if (students[i].score[j])
students[i].average = (students[i].average * (j - 1) + students[i].score[j]) / j;
}
}
// 使用sort函数,根据compareAverage比较函数对学生进行降序排列
std::sort(students.begin(), students.end(), compareAverage);
// 打印排序后的学生记录
for (const auto& student : students) {
std::cout << "学号:" << student.id << ", 姓名:" << student.name << ", 平均成绩:" << student.average << std::endl;
}
return 0;
}
```
用C++实现,一个班上有5名学生,每个学生的数据作为一个记录,每个记录包括学号、姓名、三门课程的成绩和三门课程平均成绩。从键盘输入学生的学号、姓名及三门课的成绩。要求按照平均成绩从高到低打印所有学生记录。要求有相应的注释
在C++中,你可以创建一个结构体来表示学生的信息,然后定义一个动态数组或者vector来存储所有学生。这里是一个简单的示例,展示了如何实现这个功能:
```cpp
#include <iostream>
#include <vector>
#include <algorithm> // 使用sort需要这个头文件
// 定义学生信息结构体
struct Student {
int id; // 学号
std::string name; // 姓名
double score[3]; // 三门课程的成绩
double avg_score; // 平均成绩
};
int main() {
const int num_students = 5;
std::vector<Student> students(num_students); // 创建学生数组
for (int i = 0; i < num_students; ++i) {
std::cout << "请输入第" << (i + 1) << "名学生的学号、姓名以及三门课程的成绩:" << std::endl;
std::cin >> students[i].id >> students[i].name;
// 输入每门课程成绩
for (int j = 0; j < 3; ++j) {
std::cin >> students[i].score[j];
}
// 计算平均成绩
students[i].avg_score = static_cast<double>(std::accumulate(students[i].score, students[i].score + 3, 0)) / 3.0;
}
// 按照平均成绩排序
std::sort(students.begin(), students.end(), [](const Student& a, const Student& b) { return a.avg_score > b.avg_score; });
// 打印学生信息
for (const auto& student : students) {
std::cout << "学生学号:" << student.id << ", 姓名:" << student.name << ", 平均成绩:" << student.avg_score << std::endl;
}
return 0;
}
阅读全文