结构体实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目:结构体实验报告:XXXXX

学号:XXXXXXXXXXXX 班级:XXXXXXXXXXXXXXXX 专业:XXXXXXXXX

成绩:

一、实验目的

掌握结构类型的定义和使用,学会使用结构数组编程解决问题。

二、实验容、要求与安排方式

1、实验容:

编程解决如下问题:谁的年龄最小、奖学金统计、猴子选大王、选票统计(二)、数星星(二),任选四道题,其中选票统计(二)、数星星(二)必选。

2、要求:能够上机编辑、调试程序并通过OJ测试。

3、实验安排方式:每组1人,独立完成上机实验;

4、注意事项:结构的嵌套定义和引用方法、用指针访问结构。

三、代码及调试结果

1.数星星代码:

#include

#include

#include

typedef struct shiquan

{

int x;

int y;

} S; //定义结构体

int main()

{

S s[216];

int n,i,j;

int sum=0;

scanf("%d",&n);

for(i=0; i

{

scanf("%d %d",&s[i].x,&s[i].y);

}

sum=n;

for(i=0; i

for(j=0; j

{

if(s[i].x==s[j].x&&s[i].y==s[j].y)

sum--;

}

printf("%d\n",sum);

return 0;

}

调试结果:

图1 数星星调试结果

2.奖学金代码:

#include

#include

typedef struct student

{

char name[20];

int Last_Score;

int Class_Score;

char Stu_leader;

char w_stu;

int article;

int sum;

} STU;

int main()

{

int n;

STU p[11];

int flag=0;

int sum=0;

int max=0;

scanf("%d",&n);

int i;

for(i=0; i

{

scanf("%s%d%d %c %c %d",p[i].name, &p[i].Last_Score, &p[i].Class_Score,

&p[i].Stu_leader, &p[i].w_stu, &p[i].article); p[i].sum=0;

}

for(i=0; i

{

if( p[i].Last_Score>80&& p[i].article>=1)

p[i].sum+=8000;

if( p[i].Last_Score>85&& p[i].Class_Score>80)

p[i].sum+=4000;

if( p[i].Last_Score>90)

p[i].sum+=2000;

if( p[i].Last_Score>85&& p[i].w_stu=='Y')

p[i].sum+=1000;

if( p[i].Class_Score>80&& p[i].Stu_leader == 'Y') p[i].sum+=850;

sum+=p[i].sum;

}

for(i=0; i

{

if( p[i].sum>max)

{

max= p[i].sum;

flag=i;

}

}

printf("%s\n",p[flag].name);

printf("%d\n",p[flag].sum);

printf("%d\n",sum);

return 0;

}

调试结果:

3.谁的年龄最小代码:

#include

#include

typedef struct student

{

int y;

char n[60];

int m;

int d;

}STU;

int main()

{

int n;

STU stu,min;

scanf("%d",&n);

min.y=-1;

min.m=-1;

min.d=-1;

while(n--)

{

scanf("%s",stu.n);

scanf("%d",&stu.y);

scanf("%d",&stu.m);

scanf("%d",&stu.d);

if(stu.y>min.y)

min=stu;

else if(stu.y==min.y)

{

if(stu.m>min.m)

stu=min;

else if(stu.m==min.m)

{

if(stu.d>min.d)

stu=min;

}

}

}

printf("%s",min.n);

printf("%d",min.y);

printf("-%0.2d",min.m);

printf("-%0.2d\n",min.d);

return 0;

}

调试结果:

4.成绩统计代码:

#include

#include

typedef struct student

{

char id[20];

char name[60];

int a,b,c;

} STU;

int main()

{

STU stu,max;

int n;

相关文档
最新文档