结构体、枚举、函数定义

结构体、枚举、函数定义

Q1:结构体

题1:成绩统计

输入N个学生的姓名和语文、数学的得分,按总分从高到低输出,分数相同的按输入先后输出。

做题连接:http://oj.jiefanedu.com:5283/problem/11589

Code

#include<bits/stdc++.h>
using namespace std;

struct Student{
	string name;
	int chinese;
	int math;
};
bool cmp(Student a,Student b){
	return a.math+a.chinese>b.math+b.chinese;
}
int main(){
	//输入N个学生的姓名和语文、数学的得分,按总分从高到低输出,分数相同的按输入先后输出。
	int n;
	cin>>n;
	Student student[n];
	for(int i=0;i<n;i++){
		cin>>student[i].name;
		cin>>student[i].chinese;
		cin>>student[i].math;
	}
	sort(student,student+n,cmp);
	for(int i=0;i<n;i++){
		cout<<student[i].name<<' '<<student[i].chinese<<' '<<student[i].math<<' '<<student[i].chinese+student[i].math<<endl;
	}
	return 0;
}

Q2枚举

题1:星期匹配

使用枚举的方式,当键盘输入1-7时,输出相应的星期,输入其他输出input error

Code

#include<bits/stdc++.h>
using namespace std;
enum Day{
	Monday=1,
	Tuesday,
	Wednesday,
	Thursday,
	Firday,
	Saturday,
	Sunday
}; 
int main(){

	
	int day;
	cin>>day;
	switch(day){
		case Monday: cout<<"Monday"; break;
		case Tuesday: cout<<"Tuesday"; break;
		case Wednesday: cout<<"Wednesday"; break;
		case Thursday: cout<<"Thursday"; break;
		case Firday: cout<<"Firday"; break;
		case Saturday: cout<<"Saturday"; break;
		case Sunday: cout<<"Sunday"; break;
		default :
			cout<<"input errot";break;
	}
	return 0;
} 

Q3函数定义

某数出现的次数——题1

试计算在区间 1 到 n的所有整数中,数字x(0≤x≤9)共出现了多少次?例如,在1-11中,即1,2,3,4,5,6,7,8,9,10,11中,数字1出现了四次

Code

#include<bits/stdc++.h>
using namespace std;
int getCount(int n,int number);//函数声明,在main函数之后则需要声明 
int main(){
	int n=0,number=0,count=0;
	cin>>n>>number;
	for(int i=1;i<=n;i++){
		count+=getCount(i,number);
	}
	cout<<count;
	return 0;
} 

//函数的定义 
int getCount(int n,int number){
	int count=0;
	while(n!=0){
		if(n%10==number)
			count++;
		n/=10;
	}
	return count;
}

猜你喜欢

转载自blog.csdn.net/weixin_39841821/article/details/83792605