记录一下现在写的代码,以后深造或者工作了还能翻出来拷打一下之前的自己。
5885 结构体的读入和输出
#include<stdio.h>
#include<string.h>
struct student
{
long int sno;
char name[20];
float score;
};
int main()
{
int n;
scanf("%d",&n);
struct student stu[n];
int i;
for(i=0;i<n;i++)
{
scanf("%ld",&stu[i].sno);
scanf("%s",stu[i].name);
scanf("%f",&stu[i].score);
}
for(i=0;i<n;i++)
{
printf("%ld ",stu[i].sno);
printf("%s ",stu[i].name);
printf("%.2f \n",stu[i].score);
}
return 0;
}
5886 结构体输入及成员大小排序
#include<stdio.h>
#include<string.h>
struct student
{
long int sno;
char name[20];
float score;
};
int main()
{
int n;
int a1,a2,a3;
a1=a2=a3=0;
int i,j;
scanf("%d",&n);
struct student stu[n];
for(i=0;i<n;i++)
{
scanf("%ld",&stu[i].sno);
scanf("%s",stu[i].name);
scanf("%f",&stu[i].score);
}
for(i=0;i<n;i++)
{
if(stu[i].score<60)
{
a3++;
}
else if(stu[i].score>=60&&stu[i].score<80)
{
a2++;
}
else
{
a1++;
}
}
printf("%d ",a1);
printf("%d ",a2);
printf("%d ",a3);
return 0;
}
5887 结构体成员是数组的求和、求均值操作
#include<stdio.h>
#include<string.h>
struct stu
{
int xuehao;
char name[20];
double score[4];
double sum;
double ave;
};
int main()
{
int n;
int i,j;
while(scanf("%d",&n)!=EOF)
{
struct stu s[n];
for(i=0;i<n;i++)
{
scanf("%d",&s[i].xuehao);
scanf("%s",s[i].name);
for(j=0;j<4;j++)
{
scanf("%lf",&s[i].score[j]);
}
s[i].sum=0;
s[i].ave=0;
}
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
{
s[i].sum=s[i].score[j]+s[i].sum;
}
s[i].ave=(s[i].sum/4);
}
for(i=0;i<n;i++)
{
printf("%d ",s[i].xuehao);
printf("%s ",s[i].name);
printf("%.2f ",s[i].sum);
printf("%.2f \n",s[i].ave);
}
}
return 0;
}
5888 和上一题类似,去掉ave及输出改一下就行
#include<stdio.h>
#include<string.h>
struct stu
{
int xuehao;
char name[20];
double score[4];
double sum;
};
int main()
{
int n;
int i,j;
while(scanf("%d",&n)!=EOF)
{
struct stu s[n];
for(i=0;i<n;i++)
{
scanf("%d",&s[i].xuehao);
scanf("%s",s[i].name);
for(j=0;j<4;j++)
{
scanf("%lf",&s[i].score[j]);
}
s[i].sum=0;
}
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
{
s[i].sum=s[i].score[j]+s[i].sum;
}
}
struct stu tmp;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(s[j].sum>s[j+1].sum)
{
tmp=s[j];
s[j]=s[j+1];
s[j+1]=tmp;
}
}
}
printf("%d ",s[i].xuehao);
printf("%s ",s[i].name);
}
return 0;
}
5889 同5887(大表哥竟是我自己(bushi )
#include<stdio.h>
#include<string.h>
struct stu
{
char name[20];
char xb[2];
double sg[3];
double score;
};
int main()
{
int n;
int i,j;
while(scanf("%d",&n)!=EOF)
{
struct stu s[n];
for(i=0;i<n;i++)
{
scanf("%s",s[i].name);
scanf("%s",s[i].xb);
for(j=0;j<3;j++)
{
scanf("%lf",&s[i].sg[j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<3;j++)
{
s[i].score=s[i].sg[j]+s[i].score;
}
s[i].score=s[i].score/3;
}
struct stu tmp;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(s[j].score<s[j+1].score)
{
tmp=s[j];
s[j]=s[j+1];
s[j+1]=tmp;
}
}
}
for(i=0;i<n;i++)
{
if(strcmp(s[i].xb,"f")==0)
{
printf("I choose %s,and her score is %.2lf.",s[i].name,s[i].score);
break;
}
}
return 0;
}
}