12.8-A-L1-2-第10讲-结构体 mochen denglexi

目录

1.函数定义和使用函数

2.函数的参数

3.常用的函数

4.函数的返回值

5.结构体的格式 

6.结构体变量的初始化


1.函数定义和使用函数

函数的定义
在C++中,函数的定义是指创建一个函数的具体实现,包括函数名、返回类型、参数列表以及函数体。函数的定义必须在一个源文件中,而不能在声明中进行。

格式:

返回值类型 函数名{
    语句;
    return 返回值;
}


函数的声明
通常,函数的声明放在程序的开头或头文件中,以便在函数调用之前告诉编译器该函数的存在。函数声明不包括函数体。

2.函数的参数

函数的参数是函数定义中非常重要的一部分,它们为函数提供了执行所需的具体数据或值。在编程中,函数通常被设计为可以接收一定数量和类型的参数,这些参数在函数体内被用来执行特定的操作或计算。

以下是关于函数参数的一些关键点:

‌参数定义‌:在函数定义时,我们指定了函数的参数列表。这些参数在函数被调用时接收实际的值。

‌参数类型‌:不同的编程语言支持不同类型的参数,如整数、浮点数、字符串、数组、对象等。在定义函数时,我们需要明确每个参数的类型,以便在函数体内正确地处理它们。

‌参数传递‌:当函数被调用时,实参被传递给函数定义中的形参。这种传递可以是按值传递或按引用传递。

参数的作用域‌:函数参数的作用域通常局限于函数体内。这意味着在函数外部无法直接访问或修改这些参数的值。

3.常用的函数

1.max(x,y)        找最大值

2.min(x,y)        找最小值

3.swap(x,y)        互换变量值

4.sort(begin,end,cmp)        排序

4.函数的返回值

函数的返回值是函数执行完毕后返回给调用者的结果或数据。在编程中,函数经常需要返回一些信息,以便调用者可以根据这些信息继续执行后续的操作或做出决策。

关于函数返回值的关键点:

‌返回值的类型‌:函数的返回值可以有各种类型,包括int、float、char、数组、对象、bool等。在定义函数时,我们通常会指定返回值的类型,以便调用者知道应该如何处理这个返回值。

‌返回语句‌:在函数体内,使用return来指定函数的返回值。当执行到返回语句时,函数会立即结束,并将返回语句指定的值返回给调用者。

‌无返回值‌:有些函数可能不需要返回任何值,它们的任务可能是执行一些操作。在这种情况下,函数可以没有返回值,或者返回一个特殊的值来表示没有返回值。

‌返回值的处理‌:调用者可以通过接收函数的返回值来进一步处理或利用这个结果。

5.结构体的格式

struct 结构体名{

数据类型1 变量名1;

数据类型2 变量名2;

……

};

该笔记 厚米本米^_^虎 整理

6.结构体变量的初始化

struct stu{

int id;

string name;

double score;

}

stu a={1,"yaya",98}

7.编程题目

1.C++

描述

输入一个长方形的长和宽,输出该长方形的周长和面积。
要求:定义一个长方形结构体rect,用于保存长方形的长、宽、周长和面积。

输入描述

一行两个小数l、w,使用空格隔开,表示长方形的长和宽,0<w<l≤1000

输出描述

一行两个小数,使用空格隔开,表示长方形的周长和面积,保留两位小数。

样例输入 1 

4.8 6.3                
样例输出 1 
22.20 30.24                

提示:保留一位小数

#include <bits/stdc++.h>
using namespace std;
struct rect {        //创建结构体rect
    double l;
    double w;
    double p;
    double a;
};
int main() {
    rect rect1;
    cin>>rect1.l>>rect1.w;
    rect1.p=(rect1.l + rect1.w)*2;       
//S=2(a+b)长方形周长
    rect1.a=rect1.l*rect1.w;        //S=ab长方形面积
    cout<<fixed<<setprecision(2)<<rect1.p<<" "<<rect1.a<<endl;
    return 0;
}

2.C++

描述

现有 n 名学生参加了期末考试。已知每名学生的信息包括:学号、语文、数学成绩( 0≤语文、数学成绩≤100 )。
请将学生按总分(语文+数学)从高到低排序

输入描述

第1行一个正整数n,表示学生的数量。(0<n≤100)
接下来n行,每行3个整数,用空格隔开,分别表示学号、语文、数学成绩。保证每个学生的总分都不相同。

输出描述

排序后的结果。每行2个整数,用空格隔开,分别表示学号和总分。

样例输入 1 

5
1 78 100
2 90 98
3 60 80
4 66 90
5 90 60
样例输出 1 
2 188
1 178
4 156
5 150
3 140

#include <bits/stdc++.h>
using namespace std;
struct stu{
    int id;
    int yuwen;
    int shuxue;
    int z;
};
bool cmp(stu a,stu b){
    return a.z>b.z;
}
int main(){
    int n;
    cin>>n;
    stu sss[n];
    for (int i=0;i<n;i++) {
        cin>>sss[i].id>>sss[i].yuwen>>sss[i].shuxue;
        sss[i].z=sss[i].yuwen+sss[i].shuxue;
    }
    sort(sss,sss+n,cmp);
    for (int i=0;i<n;i++) {
        cout<<sss[i].id<<" "<<sss[i].z<<endl;
    }
    return 0;
}

关注!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!我!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!厚米本米^_^虎!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

mochensage!!!!!!!!!!!!!!!!!!!!!!!!!!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值