作业一:结构体数组存储学生信息(姓名,年龄,分数),完成输入学生信息,输出学生信息,求学生成绩之和,求最低学生成绩。
#include"fun.h"
int main(int argc, const char *argv[])
{
struct stu arr[MAX];
input(arr);
output(arr);
sum(arr);
min(arr);
return 0;
}
#include"fun.h"
int input(struct stu s[])
{
printf("输入学生信息:");
int i;
for(i=0;i<MAX;i++)
{
printf("请输入第%d个学生的信息",i+1);
scanf("%s%d%d",s[i].name,&s[i].age,&s[i].score);
}
return 0;
}
int output(struct stu s[])
{
int i;
printf("学生的信息如下:");
for(i=0;i<MAX;i++)
{
printf("姓名:%s\t年龄:%d\t成绩:%d\n",
s[i].name,s[i].age,s[i].score);
}
return 0;
}
int sum(struct stu s[])
{
int sum=0;
int i;
for(i=0;i<MAX;i++)
{
sum=sum+s[i].score;
}
printf("和为:%d\n",sum);
return 0;
}
int min(struct stu s[])
{
int min=s[0].score;
int i;
for(i=1;i<MAX;i++)
{
if(min>s[i].score)
{
min= s[i].score;
}
}
printf("最小成绩:%d\n",min);
}
#ifndef _FUN_H_
#define _FUN_H_
#define MAX 5
#include<myhead.h>
struct stu
{
char name [20];
int age;
int score;
};
int input(struct stu s[]);
int output(struct stu s[]);
int sum(struct stu s[]);
int min(struct stu s[]);
#endif
作业二:在堆区,申请5个结构体空间,存储学生信息(姓名,分数)
循环输入学生信息,按照输入姓名查找某个学生,修改其成绩为100分。
#include"fun.h"
int main(int argc, const char *argv[])
{
struct stu *arr=(struct stu*)malloc(sizeof(struct stu)*MAX);
input(arr);
output(arr);
find(arr);
return 0;
}
#include"fun.h"
int input(struct stu *arr)
{
int i;
for(i=0;i<MAX;i++)
{
printf("输入第%d个学生信息\n",i+1);
scanf("%s%d",(arr+i)->name,&(arr+i)->score);
}
return 0;
}
int output(struct stu *arr)
{
int i;
for(i=0;i<MAX;i++)
{
printf("姓名:%s\t成绩:%d\n",(arr+i)->name,(arr+i)->score);
}
return 0;
}
int find(struct stu *arr)
{
char key[20];
printf("输入查找的名字:");
scanf("%s",key);
int i;
for(i=0;i<MAX;i++)
{
if(strcmp(key,(arr+i)->name)==0)
{
(arr+i)->score=100;
}
}
for(i=0;i<MAX;i++)
{
printf("姓名:%s\t成绩:%d\n",(arr+i)->name,(arr+i)->score);
}
}
#ifndef _FUN_H
#define _FUN_H
#define MAX 5
#include<myhead.h>
struct stu
{
char name [20];
int score;
};
int input(struct stu*arr);
int output(struct stu*arr);
int find(struct stu *arr);
#endif