515 条题解
-
0
Daqu LV 5 @ 2017-05-25 07:20:16
这道题更像是考基础
#include<iostream> #include<string> struct Student{ std::string name; int finalResult; int classResult; char cadre; char studentOfWest; int papers; }; Student initStudent(); int compute(Student student); void computeAllStudents(); int main() { computeAllStudents(); return 0; } Student initStudent() { using namespace std; string name; int finalResult; int classResult; char cadre; char studentOfWest; int papers; cin >> name >> finalResult >> classResult >> cadre >> studentOfWest >> papers; Student temp={ name, finalResult, classResult, cadre, studentOfWest, papers }; return temp; } void computeAllStudents() { using namespace std; int quantity; cin >> quantity; Student *students = new Student[quantity]; for(int i=0;i<quantity;i++) { students[i] = initStudent(); } // compute Student best = {"", 0, 0, 'N', 'N', 0}; int AllMoney = 0; for(int i=0;i<quantity;i++) { if(compute(students[i]) > compute(best)) { best = students[i]; } AllMoney += compute(students[i]); } // print cout << best.name << endl; cout << compute(best) << endl; cout << AllMoney <<endl; } int compute(Student student) { using namespace std; int money=0; if(student.papers != 0 && student.finalResult > 80) { money += 8000; } if(student.finalResult > 85 && student.classResult > 80) { money += 4000; } if(student.finalResult > 90) { money += 2000; } if(student.studentOfWest == 'Y' && student.finalResult > 85) { money += 1000; } if(student.classResult > 80 && student.cadre == 'Y') { money += 850; } return money; }
-
02017-05-15 17:01:08@
#include<iostream>
#include<string>
using namespace std;int num = 0;
int tot = 0;
string highname;
int highmon = 0;
struct student
{
string name;
int aver;
int disc;
char is_vip;
char is_west;
int artical;
int money = 0;
};int main()
{
student stu[100];
cin>>num;
for(int i = 0; i<num; i++)
cin>>stu[i].name>>stu[i].aver>>stu[i].disc>>stu[i].is_vip>>stu[i].is_west>>stu[i].artical;
for(int i = 0; i<num; i++)
{
if(stu[i].aver>80 && stu[i].artical>0)
stu[i].money += 8000;
if(stu[i].aver>85 && stu[i].disc>80)
stu[i].money += 4000;
if(stu[i].aver>90)
stu[i].money += 2000;
if(stu[i].aver>85 && stu[i].is_west == 'Y')
stu[i].money += 1000;
if(stu[i].disc>80 && stu[i].is_vip == 'Y')
stu[i].money += 850;
if(stu[i].money>highmon)
{
highmon = stu[i].money;
highname = stu[i].name;
}
tot += stu[i].money;
}
cout<<highname<<endl<<highmon<<endl<<tot<<endl;
} -
02017-05-15 13:33:40@
#include<iostream>
int MAXN=1000;
using namespace std;
int main()
{
int a[MAXN][MAXN];
int b[MAXN];
memset(b,0,sizeof(b));
int n,i,j,s,temp;
int k=0;
cin>>i;
for(n=1;n<=i;n++)
{
for(j=1;j<=6;j++)
{
if(j==1||j==4||j==5){
(char) a[n][j];
}
cin>>a[n][j];
if(a[n][2]>80&&a[n][6]>=1){
b[n]+=8000;
}
if(a[n][2]>85&&a[n][3]>80){
b[n]+=4000;
}
if(a[n][2]>90){
b[n]+=2000;
}
if(a[n][2]>85&&a[n][5]==Y){
b[n]+=1000;
}
if(a[n][3]>80&&a[n][4]==Y){
b[n]+=850;
}
s=b[1];
temp=1;
if (b[n]>s){
s=b[n];
temp=n;
}
k+=b[n];
}
}
cout<<a[temp][1]<<endl;
cout<<b[temp]<<endl;
cout<<k<<endl;
return 0;
} -
02017-05-15 13:33:27@
#include<iostream>
int MAXN=1000;
using namespace std;
int main()
{
int a[MAXN][MAXN];
int b[MAXN];
memset(b,0,sizeof(b));
int n,i,j,s,temp;
int k=0;
cin>>i;
for(n=1;n<=i;n++)
{
for(j=1;j<=6;j++)
{
if(j==1||j==4||j==5){
(char) a[n][j];
}
cin>>a[n][j];
if(a[n][2]>80&&a[n][6]>=1){
b[n]+=8000;
}
if(a[n][2]>85&&a[n][3]>80){
b[n]+=4000;
}
if(a[n][2]>90){
b[n]+=2000;
}
if(a[n][2]>85&&a[n][5]==Y){
b[n]+=1000;
}
if(a[n][3]>80&&a[n][4]==Y){
b[n]+=850;
}
s=b[1];
temp=1;
if (b[n]>s){
s=b[n];
temp=n;
}
k+=b[n];
}
}
cout<<a[temp][1]<<endl;
cout<<b[temp]<<endl;
cout<<k<<endl;
return 0;
} -
02017-05-08 13:32:15@
//不要在意我的命名
#include <stdio.h> typedef struct { char name[20], exam, rank, isMonitor, isWesterner, text; }fuck; int getMoney( fuck data ) { int money = 0; if ( data.exam > 80 && data.text >= 1 ) money += 8000; if ( data.exam > 85 && data.rank > 80 ) money += 4000; if ( data.exam > 90 ) money += 2000; if ( data.exam > 85 && data.isWesterner == 'Y' ) money += 1000; if ( data.rank > 80 && data.isMonitor == 'Y' ) money += 850; return(money); } int main() { int data, total = 0; scanf( "%d", &data ); fuck datas[data]; int max = 0; fuck max_man; for ( int n = 0; n < data; n++ ) { scanf( "%s %d %d %c %c %d", &datas[n].name, &datas[n].exam, &datas[n].rank, &datas[n].isMonitor, &datas[n].isWesterner, &datas[n].text ); int m = getMoney( datas[n] ); if ( m > max ) { max_man = datas[n]; max = m; } total += m; } printf( "%s\n%d\n%d", max_man.name, max, total ); }
-
02017-05-07 12:33:15@
直接模拟就好了对吧~
#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> #include <iomanip> #include <cstdlib> using namespace std; struct people { string name; int qimo,banji; char ganbu,xibu; int lunwen; int ans; }a[102]; int n; int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i].name>>a[i].qimo>>a[i].banji>>a[i].ganbu>>a[i].xibu>>a[i].lunwen,a[i].ans=0; for(int i=1;i<=n;i++) { if(a[i].banji>80&&a[i].ganbu=='Y') a[i].ans+=850; if(a[i].qimo>80&&a[i].lunwen>=1) a[i].ans+=8000; if(a[i].qimo>85&&a[i].banji>80) a[i].ans+=4000; if(a[i].qimo>90) a[i].ans+=2000; if(a[i].qimo>85&&a[i].xibu=='Y') a[i].ans+=1000; } int Max=-1; string k; int tot=0; for(int i=n;i>=1;i--) { tot+=a[i].ans; if(a[i].ans>=Max) { k=a[i].name; Max=a[i].ans; } } cout<<k<<endl; cout<<Max<<endl; cout<<tot<<endl; return 0; }
-
02017-05-06 17:43:52@
#include <iostream>
#include <cstdio>
#include <string.h>
#include <cmath>
using namespace std;
const int maxn = 105;
char name[maxn][20];
int re[maxn];
int main(){
int n;
int a,b,c;
char d,e;
scanf("%d",&n);
memset(re,0,sizeof(re));
int maxm = 0;
int m = -1;
int sum = 0;
for(int i=0;i<n;i++){
scanf("%s",name[i]);
scanf("%d%d%c%c%c%c%d",&a,&b,&d,&d,&e,&e,&c);
// cout<<name[i]<<endl;
// cout<<a<<b<<d<<e<<c<<endl;
if(a>90){
re[i] += 2000;
}
if(a>80&&c>=1)
re[i] += 8000;
if(a>85&&b>80)
re[i] += 4000;
if(a>85&&e=='Y')
re[i] += 1000;
if(b>80&&d=='Y')
re[i] += 850;
if(re[i]>maxm){
maxm = re[i];
m = i;
}
sum += re[i];
}
cout<<name[m]<<endl;
cout<<re[m]<<endl;
cout<<sum<<endl;
return 0;
} -
02017-04-21 23:41:35@
#include<iostream>
using namespace std;
int main()
{
string a,g;
int b,c,f,n,money=0,result=0,sum=0;
char d,e;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a>>b>>c>>d>>e>>f;
money=0;
if(b>80&&f>=1)
money+=8000;
if(b>85&&c>80)
money+=4000;
if(b>90)
money+=2000;
if(b>85&&e=='Y')
money+=1000;
if(c>80&&d=='Y')
money+=850;
sum+=money;
if(result<money)
{
result=money;
g=a;
}
}
cout<<g<<endl<<result<<endl<<sum<<endl;
return 0;
} -
02017-04-21 23:41:02@
#include<iostream>
using namespace std;
int main()
{
string a,g;
int b,c,f,n,money=0,result=0,sum=0;
char d,e;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a>>b>>c>>d>>e>>f;
money=0;
if(b>80&&f>=1)
money+=8000;
if(b>85&&c>80)
money+=4000;
if(b>90)
money+=2000;
if(b>85&&e=='Y')
money+=1000;
if(c>80&&d=='Y')
money+=850;
sum+=money;
if(result<money)
{
result=money;
g=a;
}
}
cout<<g<<endl<<result<<endl<<sum<<endl;
return 0;
} -
02017-04-14 15:55:42@
#include<iostream> #include<vector> #include<string> using namespace std; class Student{ public: Student(); friend ostream &operator<<(ostream &os,const Student &m); void BonusCaculate(); void Input(); string name; int final_grade; int class_grade; char student_carde; char western_stu; short int papers; int bonus; }; Student::Student(){ bonus = 0; } void Student::Input(){ cin>>name>>final_grade>>class_grade>>student_carde>>western_stu>>papers; } ostream &operator<<(ostream &os,const Student &m){ os<<m.name<<endl<<m.bonus<<endl; return os; } void Student::BonusCaculate(){ if(final_grade>80&&papers>=1) bonus += 8000; if(final_grade>85&&class_grade>80) bonus += 4000; if(final_grade>90) bonus += 2000; if(western_stu == 'Y'&&final_grade>85) bonus += 1000; if(student_carde == 'Y'&&class_grade>80) bonus += 850; } int main(){ int n,p = 0,total_bonus = 0; cin>>n; vector<Student> students(n); for(int i = 0; i < n; i++){ students[i].Input(); students[i].BonusCaculate(); total_bonus += students[i].bonus; } for(int i = 0; i < n-1;i++){ if(students[p].bonus < students[i+1].bonus) p = i+1; } cout<<students[p]<<total_bonus; return 0; }
-
02017-04-02 14:40:04@
//你们无法体会血之哀的孤独
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<iomanip>
using namespace std;
int saber[101]= {0};
int lmf=0;
int nono=0;
int mx=0;
struct jxj
{
string name;
int cj;
int bp;
char gp;
char xb;
int lw;
} a[200];
int main()
{
int n;
cin>>n;
string lmf;
for(int i=1; i<=n; i++)
{
cin>>a[i].name >>a[i].cj>>a[i].bp >>a[i].gp>>a[i].xb >>a[i].lw ;
if(a[i].cj >80&&a[i].lw >0)
saber[i]+=8000;
if(a[i].cj>85&&a[i].bp >80)
saber[i]+=4000;
if(a[i].cj >90)
saber[i]+=2000;
if(a[i].cj >85&&a[i].xb =='Y')
saber[i]+=1000;
if(a[i].bp >80&&a[i].gp =='Y')
saber[i]+=850;
if(saber[i]>mx)
{
mx=saber[i];
lmf=a[i].name ;
}
}
for(int i=1;i<=n;i++)
{
nono+=saber[i];
}
cout<<lmf<<endl<<mx<<endl<<nono;
return 0;
} -
02017-03-31 18:38:42@
#include<stdio.h>
int main()
{
int n,i;
scanf("%d",&n);
char s[n][20];
int final[n];
int class0[n];
char stu[n];
char west[n];
int paper[n];
long money[n];
for(i=0;i<=n-1;i++)
{
scanf("%s %d %d %c %c %d",s[i],&final[i],&class0[i],&stu[i],&west[i],&paper[i]);
money[i]=0;
if (final[i]>80&&paper[i]>0) money[i]=money[i]+8000;
if (final[i]>85&&class0[i]>80) money[i]=money[i]+4000;
if (final[i]>90) money[i]=money[i]+2000;
if (final[i]>85&&west[i]=='Y') money[i]=money[i]+1000;
if (final[i]>80&&stu[i]=='Y') money[i]=money[i]+850;
}
int max=0,mark,sum=0;
for(i=0;i<=n-1;i++)
{
if (money[i]>max)
{
max=money[i];
mark=i;
}
sum=sum+money[i];
}
printf("%s\n",s[mark]);
printf("%d\n",money[mark]);
printf("%d",sum);
return 0;
} -
02017-03-31 18:38:14@
#include<stdio.h>
int main()
{
int n,i;
scanf("%d",&n);
char s[n][20];
int final[n];
int class0[n];
char stu[n];
char west[n];
int paper[n];
long money[n];
for(i=0;i<=n-1;i++)
{
scanf("%s %d %d %c %c %d",s[i],&final[i],&class0[i],&stu[i],&west[i],&paper[i]);
money[i]=0;
if (final[i]>80&&paper[i]>0) money[i]=money[i]+8000;
if (final[i]>85&&class0[i]>80) money[i]=money[i]+4000;
if (final[i]>90) money[i]=money[i]+2000;
if (final[i]>85&&west[i]=='Y') money[i]=money[i]+1000;
if (final[i]>80&&stu[i]=='Y') money[i]=money[i]+850;
}
int max=0,mark,sum=0;
for(i=0;i<=n-1;i++)
{
if (money[i]>max)
{
max=money[i];
mark=i;
}
sum=sum+money[i];
}
printf("%s\n",s[mark]);
printf("%d\n",money[mark]);
printf("%d",sum);
return 0;
} -
02017-03-20 21:37:59@
#include <iostream>
#include <algorithm>
using namespace std;struct list{
int num; //序号
string xm;//姓名
int pm; //期末平均成绩
int bj; //班级评议成绩
char xsgb;//学生干部
char xbsf;//西部省份
int lw; //论文
int sum; //奖金
};list k[101];
int main() {
int n,i,s=0,max=0;
string name;
cin>>n;
for(i=1;i<=n;i++){
k[i].num=i;
cin>>k[i].xm>>k[i].pm>>k[i].bj>>k[i].xsgb>>k[i].xbsf>>k[i].lw;
k[i].sum=0;
if(k[i].pm>80 && k[i].lw>0) //院士奖学金
k[i].sum+=8000;
if(k[i].pm>85 && k[i].bj>80) //五四奖学金
k[i].sum+=4000;
if(k[i].pm>90) //成绩优秀奖
k[i].sum+=2000;
if(k[i].pm>85 && k[i].xbsf=='Y')//西部奖学金
k[i].sum+=1000;
if(k[i].bj>80 && k[i].xsgb=='Y') //班级贡献奖
k[i].sum+=850;
s+=k[i].sum;
if(max<k[i].sum){
max=k[i].sum;
name=k[i].xm;
}
}
cout<<name<<endl<<max<<endl<<s;
return 0;
} -
02017-03-20 21:37:24@
#include <iostream>
#include <algorithm>
using namespace std;struct list{
int num; //序号
string xm;//姓名
int pm; //期末平均成绩
int bj; //班级评议成绩
char xsgb;//学生干部
char xbsf;//西部省份
int lw; //论文
int sum; //奖金
};list k[101];
int main() {
int n,i,s=0,max=0;
string name;
cin>>n;
for(i=1;i<=n;i++){
k[i].num=i;
cin>>k[i].xm>>k[i].pm>>k[i].bj>>k[i].xsgb>>k[i].xbsf>>k[i].lw;
k[i].sum=0;
if(k[i].pm>80 && k[i].lw>0) //院士奖学金
k[i].sum+=8000;
if(k[i].pm>85 && k[i].bj>80) //五四奖学金
k[i].sum+=4000;
if(k[i].pm>90) //成绩优秀奖
k[i].sum+=2000;
if(k[i].pm>85 && k[i].xbsf=='Y')//西部奖学金
k[i].sum+=1000;
if(k[i].bj>80 && k[i].xsgb=='Y') //班级贡献奖
k[i].sum+=850;
s+=k[i].sum;
if(max<k[i].sum){
max=k[i].sum;
name=k[i].xm;
}
}
cout<<name<<endl<<max<<endl<<s;
return 0;
} -
02017-03-15 19:54:51@
#include<iostream>
#include<functional>
#include<queue>
#include<cstring>
#include<string>
#include<algorithm>
#include <vector>
#include<math.h>using namespace std;
struct student
{
string name;
int score;
int cscore;
char leader;
char west;
int paper;
int money;
} v[101];int main()
{
int n,max=0,sum=0,k;
cin>>n;
for(int i=0;i<n;i++)cin>>v[i].name>>v[i].score>>v[i].cscore>>v[i].leader>>v[i].west>>v[i].paper;
for(int i=0;i<n;i++)
{
v[i].money=0;
if(v[i].score>80&&v[i].paper>0)
v[i].money+=8000;
if(v[i].score>85&&v[i].cscore>80)
v[i].money+=4000;
if(v[i].score>90)
v[i].money+=2000;
if(v[i].score>85&&v[i].west=='Y')
v[i].money+=1000;
if(v[i].cscore>80&&v[i].leader=='Y')
v[i].money+=850;
if(v[i].money>max)
{
max=v[i].money;
k=i;
}
sum+=v[i].money;
}
cout<<v[k].name<<endl<<v[k].money<<endl<<sum;
return(0);
} -
02017-03-12 19:59:27@
#include<iostream> #include<string> using namespace std; struct stu { string name; int qimo; int banping; char ganbu; char cibu; int wen; int money; }; int main() { int n,i; cin>>n; stu b[101]; for(i=0;i<n;i++) { cin>>b[i].name>>b[i].qimo>>b[i].banping>>b[i].ganbu>>b[i].cibu>>b[i].wen;b[i].money=0; if(b[i].qimo>80 && b[i].wen>=1)b[i].money+=8000; if(b[i].qimo> 85 && b[i].banping > 80)b[i].money+=4000; if(b[i].qimo>90)b[i].money+=2000; if(b[i].qimo>85 && b[i].cibu=='Y')b[i].money+=1000; if(b[i].banping>80 && b[i].ganbu=='Y')b[i].money+=850; } int k=0;int s=0; for(i=0;i<n;i++) { s=b[i].money+s; if(b[k].money<b[i].money)k=i; } cout<<b[k].name<<endl<<b[k].money<<endl<<s; return 0; }
-
02017-02-28 04:29:39@
#include <stdio.h>
int main()
{
int n,i;
scanf("%d", &i);
int a[i][5],highman=0; long haha[i],highmoney=0,addup=0;
char b[i][20],temp='Y';
for (n=0;n<i;n++)
{
scanf("%s %d %d", b[n],&a[n][0],&a[n][1]);
temp=getchar();
scanf("%c",&temp);
if (temp=='Y') a[n][2]=1;
else a[n][2]=0;temp=getchar();
scanf("%c",&temp);
if (temp=='Y') a[n][3]=1;
else a[n][3]=0;scanf("%d",&a[n][4]);
haha[n]=0;
if (a[n][0]>80&&a[n][4]>=1) haha[n]=haha[n]+8000;
if (a[n][0]>85&&a[n][1]>80) haha[n]=haha[n]+4000;
if (a[n][0]>90) haha[n]=haha[n]+2000;
if (a[n][0]>85&&a[n][3]==1) haha[n]=haha[n]+1000;
if (a[n][1]>80&&a[n][2]==1) haha[n]=haha[n]+850;if (haha[n]>highmoney) {highman=n; highmoney=haha[n];}
addup=addup+haha[n];
}
printf("%s\n%ld\n%ld\n", b[highman],haha[highman],addup);return 0;
} -
02017-02-28 04:29:28@
#include <stdio.h>
int main()
{
int n,i;
scanf("%d", &i);
int a[i][5],highman=0; long haha[i],highmoney=0,addup=0;
char b[i][20],temp='Y';
for (n=0;n<i;n++)
{
scanf("%s %d %d", b[n],&a[n][0],&a[n][1]);
temp=getchar();
scanf("%c",&temp);
if (temp=='Y') a[n][2]=1;
else a[n][2]=0;temp=getchar();
scanf("%c",&temp);
if (temp=='Y') a[n][3]=1;
else a[n][3]=0;scanf("%d",&a[n][4]);
haha[n]=0;
if (a[n][0]>80&&a[n][4]>=1) haha[n]=haha[n]+8000;
if (a[n][0]>85&&a[n][1]>80) haha[n]=haha[n]+4000;
if (a[n][0]>90) haha[n]=haha[n]+2000;
if (a[n][0]>85&&a[n][3]==1) haha[n]=haha[n]+1000;
if (a[n][1]>80&&a[n][2]==1) haha[n]=haha[n]+850;if (haha[n]>highmoney) {highman=n; highmoney=haha[n];}
addup=addup+haha[n];
}
printf("%s\n%ld\n%ld\n", b[highman],haha[highman],addup);return 0;
} -
02017-02-26 20:37:47@
新手题解
var
name,namezd:string;
pj,yp,lw,z,i,j,k:integer;
jxj,all,max:longint;
xsgb,xb,la,wa,x:char;
ha:boolean;
begin
readln(z); all:=0; max:=0;
for i:=1 to z do
begin
jxj:=0; j:=0; ha:=false; name:='';
read(x);
while x<>' ' do
begin
name:=name+x;
read(x);
end;
read(pj);
read(yp); read(la); read(xsgb); read(la); read(xb); read(wa); readln(lw);
if (pj>80) and (lw>=1) then jxj:=jxj+8000;
if (pj>85) and (yp>80) then jxj:=jxj+4000;
if (pj>90) then jxj:=jxj+2000;
if (pj>85) and (xb='Y') then jxj:=jxj+1000;
if (yp>80) and (xsgb='Y') then jxj:=jxj+850;
if jxj>max then
begin
namezd:=name;
max:=jxj;
end;
all:=all+jxj;
end;
writeln(namezd) ;
writeln(max);
writeln(all);
end.