作业一:结构体数组存储学生信息(姓名,年龄,分数),
//完成输入学生信息,输出学生信息,求学生成绩之和,求最低学生成绩。
fun.c文件
#include "fun.h"
int fun1(stu inf[])
{
int i;
for(i=0;i<AZ;i++)
{
printf("输入姓名,年龄,分数\n");
scanf("%s%d%f",inf[i].name,&inf[i].age,&inf[i].score);
// printf("姓名:%s\t 年龄:%d\t 分数:%.2f\n",
// inf[i].name,inf[i].age,inf[i].score);
}
}
int fun2(stu inf[])
{
int i;
printf("学生信息为:\n");
for(i=0;i<AZ;i++)
{
printf("姓名:%s\t 年龄:%d\t 分数:%.2f\n",
inf[i].name,inf[i].age,inf[i].score);
}
}
int fun3(stu inf[])
{
int i,sum=0;
for(i=0;i<AZ;i++)
{
sum+=inf[i].score;
}
sum=sum/AZ;
printf("最大值为:%d\n",sum);
}
int fun4(stu inf[])
{
int i,temp=0;
for(i=0;i<AZ;i++)
{
if(inf[i].score<temp==inf[temp].score)
{
temp=i;
}
}
printf("最低成绩的学生信息如下:\n");
printf("姓名:%s\t 年龄:%d\t 分数:%.2f\n",
inf[temp].name,inf[temp].age,inf[temp].score);
return 0;
}
fun.h文件
#include <myhead.h>
#ifndef __FUN_H__
#define __FUN_H__
#define SX 100//列
#define AZ 3//行
typedef struct student //infomation[SX]
{
char name[SX];
int age;
float score;
}stu;
int fun1(stu inf[]);
int fun2(stu inf[]);
int fun3(stu inf[]);
int fun4(stu inf[]);
#endif
main1.c文件
//作业一:结构体数组存储学生信息(姓名,年龄,分数),
//完成输入学生信息,输出学生信息,求学生成绩之和,求最低学生成绩。
//
#include "fun.h"
int main(int argc, const char *argv[])
{
stu inf[AZ];
fun1(inf);
fun2(inf);
fun3(inf);
fun4(inf);
//printf(" ");
return 0;
}
/作业二:在堆区,申请5个结构体空间
//,存储学生信息(姓名,分数)
//循环输入学生信息,按照输入姓名查找某个学生
//,修改其成绩为100分。
main2.c文件
#include "fun.h"
int main(int argc, const char *argv[])
//作业二:在堆区,申请5个结构体空间
//,存储学生信息(姓名,分数)
//循环输入学生信息,按照输入姓名查找某个学生
//,修改其成绩为100分。
{
stu *stu1=malloc(sizeof(stu)*DC);
fun1(stu1);
fun2(stu1);
fun3(stu1,100);
// printf(" ");
// free(stu1);
// stu1=kill;
return 0;
}
fun.c文件
#include "fun.h"
//输入与存储
int fun1(stu *stu1)
{
int i;
printf("请输入学生信息:\n");
for(i=0;i<AZ;i++)
{
scanf("%s%f",(stu1+i)->name,&(stu1+i)->score);
// printf("%s% .2f\n",(stu1+i)->name,(stu1+i)->score);
}
return 0;
}
//查看全部
int fun2(stu *stu1)
{
int i;
printf("全部学生信息:\n");
for(i=0;i<AZ;i++)
{
printf("%s %.2f\n",(stu1+i)->name,(stu1+i)->score);
}
return 0;
}
//查找某个
int fun3(stu *stu1,int fu)
{
//char key[SX];
char a[SX];
char *key=a;
printf("输入要查找学生的姓名 :\n");
scanf("%s",key);
int i;
for(i=0;i<AZ;i++)
{
if(strcmp(key,(stu1+i)->name)==0)
{
printf("%s %.2f\n",(stu1+i)->name,(stu1+i)->score);
(stu1+i)->score=fu;
putchar(10);
}
}
return 0;
}
fun.h文件
#ifndef __FUN_H__
#define __FUN_H__
#include <myhead.h>
#define AZ 5
#define SX 20
#define DC 5
typedef struct student
{
char name[SX];
float score;
}stu;
int fun1(stu *stu1);
int fun2(stu *stu1);
int fun3(stu *stu1,int fu);
#endif