周三:91(实际通过73) 周四:105,周五:119,周六:133,周日:147。 1159,1166,1167 ---------------- 什么是递归函数:函数内调用自身 void zhawanzi(int n){ if(n==0) return ; cout<<"zha"<<n<<"ge\n"; zhawanzi(n-1); } zhawanzi(6); zha6ge zha5ge zha4ge zha3ge zha2ge zha1ge void zhawanzi(int n){ if(n==0) return ; zhawanzi(n-1); cout<<"zha"<<n<<"ge\n"; } zhawanzi(6); zha1ge zha2ge zha3ge zha4ge zha5ge zha6ge 结构体:可以理解为自定义类型 当c++语言的基本数据类型无法存放题目的特殊数据时,可以通过结构体创建新类型 结构体是多种数据类型组合在一起的新类型 学生的名字,年龄,分数存放在一起作为一个学生整体 struct student{ string name; int age; double score; }; student就是新的类型 写一个人类,有名字,有身份证号,有身高。 struct people{ string name; string idcard; double height; }; 结构体声明变量并赋值 int a=5; double p=3.14; 创建结构体变量 student c; people d; c={"小二黑",13,0.5};//赋值数据要与创建类型时的数据保持一致(数量和类型) d={"苹果","345474768754364456",150.7}; 创建的同时并赋值 student e={"同学",10,99.5}; 结构体数组 int a[10]={1,2,3,4,5,6}; student b[10]={{"花花",10,90},{"泡泡",10,80}}; cout<<a[0];//从int数组中0下标获取 cout<<b[0];//报错,cout不认识student类型,无法输出 cout<<b[0].name<<b[0].age<<b[0].score;//只能通过.调用类型内部的基础类型数据输出 输入n,输入n个学生数据,通过他们的分数,从小到大排序后输出 #include <iostream> using namespace std; struct node{ string name; int age; double score; //....以及其他题目里的属性值 }; node a[100050]; bool cmp(node x,node y){ return x.score<y.score; } int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i].name>>a[i].age>>a[i].score; } //结构体排序 sort <algorithm> sort(a+1,a+n+1,cmp); for(int i=1;i<=n;i++){ cout<<a[i].name<<" "<<a[i].age<<" "<<a[i].score<<endl; } return 0; } |