NYOJ 60 谁获得了最高奖学金
5#include<stdlib.h>
#include<stdio.h>
typedef struct {
char name[20];
int total;
int test;
int clas;
char staff;
char west;
int thesis;
} student;
int main()
{
student stu[110];
int g,st,sum,num,maxstu,i;
scanf("%d",&g);
while(g--){
scanf("%d",&st);
maxstu=0;
sum=0;
for(i=0;i<st;i++)
{
stu[i].total=0;
scanf("%s %d %d %c %c %d",stu[i].name,&stu[i].test,&stu[i].clas,&stu[i].staff,&stu[i].west,&stu[i].thesis);
if(stu[i].test>80&&stu[i].thesis>0) stu[i].total+=8000;
if(stu[i].test>85&&stu[i].clas>80) stu[i].total+=4000;
if(stu[i].test>90) stu[i].total+=2000;
if(stu[i].test>85&&stu[i].west=='Y') stu[i].total+=1000;
if(stu[i].clas>80&&stu[i].staff=='Y')stu[i].total+=850;
if(stu[i].total>maxstu) {maxstu=stu[i].total; num=i;}
sum+=stu[i].total;
}
printf("%s\n%d\n%d\n",stu[num].name,stu[num].total,sum);
}
return 0;
}
NYOJ 75 日期计算
#include<stdio.h>
int main()
{
int n,m,month,year,day,i,a[12]={31,29,31,30,31,30,31,31,30,31,30,31};
scanf("%d",&n);
while(n--)
{
m=0;
scanf("%d %d %d",&year,&month,&day);
for(i=0;i<month-1;i++)
m+=a[i];
if(month<=2) printf("%d\n",m+day);
else if(year%4==0&&year%100!=0||year%400==0)printf("%d\n",m+day);
else printf("%d\n",m+day-1);
}
return 0;
}
NYOJ 113 字符串替换
#include <stdio.h>
#include <string.h>
int main()
{
char a[100],c;
int i,len;
while(scanf("%s%c",a,&c)!=EOF){//c取结束符
if(strstr(a,"you")){
len=strlen(a);
for(i=0;i<len;i++){
if(a[i]=='y'&&a[i+1]=='o'&&a[i+2]=='u') {printf("we");i+=2;}
else printf("%c",a[i]);}
}else printf("%s",a);
if(c=='\n') printf("\n");
else printf(" ");}
return 0;
}