结构体实验报告
结构体实验报告
结构体实验报告
实
验
报
告
题目: 结构体实验报告
姓名: XXXXX
学号: XXXXXXXXXXXX
班级: XXXXXXXXXXXXXXXX
专业: XXXXXXXXX
成绩:
一、实验目的掌握结构类型的定义与使用,学会使用结构数组编程解决问题。
二、实验内容、要求与安排方式
实验内容:
编程解决如下问题:谁的年龄最小、奖学金统计、 猴子选大王、 选票统计(二)、 数星星(二),任选四道题,其中 选票统计(二)、 数星星(二)必选。
要求:能够上机编辑、调试程序并通过OJ测试。
实验安排方式:每组1人,独立完成上机实验;
注意事项:结构的嵌套定义与引用方法、用指针访问结构。
三、代码及调试结果
1、数星星代码:
#include <stdio、h>
#include <stdlib、h>
#include <string、h>
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<n; i++)
{
scanf("%d %d",&s[i]、x,&s[i]、y);
}
sum=n;
for(i=0; i<n; i++)
for(j=0; j<i; j++)
{
if(s[i]、x==s[j]、x&&s[i]、y==s[j]、y)
sum--;
}
printf("%d\n",sum);
return 0;
}
调试结果:
图1 数星星调试结果
2、奖学金代码:
#include <stdio、h>
#include <stdlib、h>
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<n; 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<n; 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<n; 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<stdio、h>
#include<stdlib、h>
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<stdio、h>
#include<stdlib、h>
typedef struct student
{
char id[20];
char name[60];
int a,b,c;
} STU;
int main()
{
STU stu,max;
int n;
max、a=0;
max、b=0;
max、c=-1;
scanf("%d",&n);
while(n--)
{
scanf("%s",stu、id);
scanf("%s",stu、name);
scanf("%d%d%d",&stu、a,&stu、b,&stu、c);
if((stu、a+stu、b+stu、c)>(max、a+max、b+max、c))
{
max=stu;
}
}
printf("%s",max、id);
printf(" %s",max、name);
printf(" %d",max、a);
printf(" %d",max、b);
printf(" %d\n",max、c);
return 0;
}
调试结果:
相关热词搜索: 结构 实验 报告