1.结构体数组存储学生信息(姓名,年龄,分数),完成输入学生信息,输出学生信息,求学生成绩之和,求最低学生成绩。
main函数
#include "fun.h"
//结构体数组存储学生信息(姓名,年龄,分数
//),完成输入学生信息,输出学生信息
//,求学生成绩之和,求最低学生成绩。
int main(int argc,const char*argv[])
{
sur s[MAX];
//输入
input_sur(s);
//输出学生信息
output_sur(s);
//求和
sum_sur(s);
//求最低成绩
min_sur(s);
return 0;
}
fun.c文件
#include "fun.h"
int input_sur(sur s[])
{
int i;
printf("\n请输入学生信息\n");
for(i=0;i<MAX;i++)
{
printf("请输入第%d个学生信息:",i+1);
scanf("%s%d%d",s[i].name,&s[i].age,&s[i].score);
}
printf("\n");
return 0;
}
int output_sur(sur s[])//输出
{
int i;
for(i=0;i<MAX;i++)
{
printf("姓名:%s\t年龄:%d\t分数:%d\n",s[i].name,s[i].age,s[i].score);
}
printf("\n");
return 0;
}
int sum_sur(sur s[])//求和
{
int i;
int sum = 0;
for(i=0;i<MAX;i++)
{
sum = sum + s[i].score;
}
printf("学生成绩的和为:");
printf("%d\n",sum);
return 0;
}
int min_sur(sur s[])//求最小
{
int i,t=0;
int min;
min = s[0].score;
for(i=1;i<MAX;i++)
{
if(min>s[i].score)
{
min = s[i].score;
t = i;
}
}
printf("最低学生的成绩是:%d\n",min);
}
fun.h文件
#ifndef _FUN_H_
#define _FUN_H_
#include <myhead.h>
#define MAX 5
typedef struct stu
{
char name[20];
int age;
int score;
}sur;
int input_sur(sur s[]);
int output_sur(sur s[]);
int sum_sur(sur s[]);
int min_sur(sur s[]);
#endif
2.在堆区,申请5个结构体空间,存储学生信息(姓名,分数)循环输入学生信息,按照输入姓名查找某个学生,修改其成绩为100分。
mian.c函数
#include <myhead.h>
#include "fun.h"
//在堆区,申请5个结构体空间,存储学生信息(姓名,分数)
//循环输入学生信息,按照输入姓名查找某个学生
//,修改其成绩为100分。
int main(int argc,const char*argv[])
{
sur *p = malloc(sizeof(sur)*N);
input_sur(p);
output_sur(p);
char key[20];
printf("请输入查找学生名字:");
scanf("%s",key);
printf("\n");
find_sur(p,key);
output_sur(p);
return 0;
}
fun.h文件
#ifndef _FUN_H_
#define _FUN_H_
#include <myhead.h>
#define N 5
typedef struct str
{
char name[20];
int score;
}sur;
int input_sur(sur *p);
int output_sur(sur *p);
int find_sur(sur *p,char key[]);
#endif
fun.c文件
#include"fun.h"
int input_sur(sur *p)
{
int i;
printf("请输入学生信息\n");
for(i=0;i<N;i++)
{
printf("请输入第%d个学生信息:",i+1);
scanf("%s %d",(p+i)->name,&(p+i)->score);
}
printf("\n");
return 0;
}
int output_sur(sur *p)
{
int i;
for(i=0;i<N;i++)
{
printf("%s\t%d\n",(p+i)->name,(p+i)->score);
}
printf("\n");
return 0;
}
int find_sur(sur *p,char key[])
{
int i,t;
for(i=0;i<N;i++)
{
if(strcmp((p+i)->name,key)==0)
{
t = i;
}
}
(p+t)->score = 100;
printf("\n");
}