爱编程的小笨孩


私信TA

用户名:2119394720

访问量:20533

签 名:

我在成长,总有一天我会足够优秀。

等  级
排  名 163
经  验 6817
参赛次数 6
文章发表 44
年  龄 0
在职情况 学生
学  校 黄河科技学院
专  业 软件工程

  自我简介:

一只想要当凤凰的鸡

TA的其他文章

解题思路:

自定义数据类型将不同类型数据组和在一起形成一个新的数据类型Student,然后在主函数中定义一个该类型的数组变量,根据题目要求,主要功能需要自定义函数来实现,所以定义函数input来输入学生的各种信息,代码如下:

void input(Student student[],int N)
{
    int i;
    for(i=0;i<N;i++)
    {
        cin>>student[i].Id;
        cin>>student[i].Name;
        cin>>student[i].Ane_score;
        cin>>student[i].Two_score;
        cin>>student[i].Three_score;
    }
}


定义函数print来输出学生的信息,代码如下:

void print(Student student[],int N)
{
    int i;
    for(i=0;i<N;i++)
    {
        cout<<student[i].Id<<","
            <<student[i].Name<<","
            <<student[i].Ane_score<<","
            <<student[i].Two_score<<","
            <<student[i].Three_score<<endl;
    }
}


然后在主函数中调用这两个函数即可得到结果,在传递函数参数时没有使用指针是因为用数组名做函数实参时,不是把数组元素的值传递给了形参,而是把实参数组首元素的地址传给了形参数组,这样的话,形参数组和实参数组就共同使用同一内存空间,当形参数组中元素的值发生改变时,实参数组的值也随之改变。所以不需要使用指针。



参考代码:

#include<iostream>
#include<string>
using namespace std;
//创建学生结构体
struct Student
{
    string Id;
    string Name;
    int Ane_score;
    int Two_score;
    int Three_score;
};
//用于输入学生数据
void input(Student student[],int N)
{
    int i;
    for(i=0;i<N;i++)
    {
        cin>>student[i].Id;
        cin>>student[i].Name;
        cin>>student[i].Ane_score;
        cin>>student[i].Two_score;
        cin>>student[i].Three_score;
    }
}
//用于输出学生的数据
void print(Student student[],int N)
{
    int i;
    for(i=0;i<N;i++)
    {
        cout<<student[i].Id<<","
            <<student[i].Name<<","
            <<student[i].Ane_score<<","
            <<student[i].Two_score<<","
            <<student[i].Three_score<<endl;
    }
}
int main()
{
    int N;
    cin>>N;
    Student student[N];
    input(student,N);
    print(student,N);
    return 0;
}


 

0.0分

7 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区