社区讨论

灵异代码

题目总版参与者 7已保存回复 16

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
16 条
当前快照
1 份
快照标识符
@mi7xksvn
此快照首次捕获于
2025/11/21 05:15
4 个月前
此快照最后确认于
2025/11/21 06:38
4 个月前
查看原帖

R18324543 题,我代码如下:

CPP
#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
class Student_data
{
	public:
		string name;
		int score;
		int classs_score;
		bool is_classworker;
		bool is_weststudent;
		bool is_havesend;
		int mouny;
		void count()
		{
			mouny=0;
			if(score>80&&is_havesend)				mouny+=8000;
			if(score>85&&classs_score>80)			mouny+=4000;
			if(score>90)							mouny+=2000;
			if(score>85&&is_weststudent)			mouny+=1000;
			if(classs_score>80&&is_classworker)		mouny+=850;
			return;
		}
};
int main()
{
	int nem;
	cin>>nem;
	Student_data student[nem];
	char temp1,temp2;
	for(int i=0;i<nem;i++)
	{
		scanf("%s",&student[i].name);
		scanf("%d",&student[i].score);
		scanf("%d",&student[i].classs_score);
		scanf("%c",&temp1);
		scanf("%c",&temp2);
		scanf("%d",&student[i].is_havesend); 
		if(temp1=='Y')			student[i].is_classworker=true;
		else if(temp1=='N')		student[i].is_classworker=false;
		if(temp2=='Y')			student[i].is_weststudent=true;
		else if(temp2=='N')		student[i].is_weststudent=false;
		student[i].count();
	}
	cout<<" "<<student[5].name<<" "<<student[5].score<<" "<<student[5].classs_score<<" "<<student[5].is_classworker<<" "<<student[5].is_weststudent<<" "<<student[5].is_havesend;
	string ans1;
	int ans2=-1,ans3=0;
	for(int i=0;i<nem;i++)
	{
		ans3+=student[i].mouny;
		if(student[i].mouny>ans2)
		{
			ans2=student[i].mouny;
			ans1=student[i].name;
		}
	}
	cout<<ans1<<endl<<ans2<<endl<<ans3;
	return 0;
}

可是我在输入时(样例)第四个输不进去,调试发现输入第四个的语句被正常执行,但没有出现。cin样例可以,但数量为100是只能输进去2个。

求解

求解

求解

回复

16 条回复,欢迎继续交流。

正在加载回复...