#include "stdio.h"
void search();
struct student
{
int num;
char name[10];
float score;
};
struct student stu[3];
void main()
{
int i;
printf("\t\t请输入学员信息\n");
printf("==========================\n");
for(i=0;i<3;i++)
{
printf("学员%d的信息\n",i+1);
printf("请输入这小子的姓名");
scanf("%s", stu[i].name);
printf("请输入这小子的成绩");
scanf("%f", &stu[i].score);
while (getchar()!= '\n');
printf("\n");
}
search();
}
void search()
{
int i;
printf("请输入要查找的学员的学号:");
scanf("%d",&i);
printf("学员%i的信息: ", i);
printf("学员%d的姓名%s ", i, stu[i+1].name);
printf("学员%d的成绩%f ", i, stu[i+1].score);
}
你写的好乱呀,我给你写个吧,不过没有用调用方法,如果必须用的话,你自己再写,也可以找我,记得传值哦...
#include <stdio.h>
#define sumstu 5
struct student
{
int stuno;//学号
char stuname[10];//姓名
float score;//成绩
};
void main()
{ int i,m=0,n;
struct student stu[sumstu];//因为接收的不是一个学员的信息所以用数组
printf("============请输入学员信息===========\n");
/*接收学员的信息*/
for(i=0;i<sumstu;i++)
{
printf("\n请输入第%d个学员的信息:",i+1);
printf("\n学号:");
fflush(stdin);
scanf("%d",&stu[i].stuno);
printf("姓名:");
fflush(stdin);
gets(stu[i].stuname);
printf("成绩:");
fflush(stdin);
scanf("%f",&stu[i].score);
}
/*显示所有学员的信息*/
printf("学号\t姓名\t成绩\n");
for(i=0;i<sumstu;i++)
{
printf("%d\t",stu[i].stuno);
printf("%s\t",stu[i].stuname);
printf("%3.2f\t",stu[i].score);
printf("\n");
}
/*查找你需要的学员的信息*/
printf("请输入你要查找的学员的学号:");
scanf("%d",&m);
for(i=0;i<sumstu;i++)
{
if(m==stu[i].stuno)
n=i;
}
printf("学号为%d的学员的信息如下:\n",m);
printf("%d\t",stu[n].stuno);
printf("%s\t",stu[n].stuname);
printf("%3.2f\t",stu[n].score);
printf("\n");
}
输入5个学员的信息和三门课程成绩,在算出三门课的总成绩,在按总成绩排序输出
#include <stdio.h>
#define sumstu 5
void sort();
struct student
{
int stuno;//学号
char stuname[10];//姓名
float yuwen; //三科成绩
float shuxue;
float yingyu;
};
void main()
{
int i,m=0;
float sum=0;//总成绩
struct student stu[sumstu]; //因为接收的不是一个学员的信息所以用数组
printf("============请输入学员信息===========\n");
/*接收学员的信息*/
for(i=0;i<sumstu;i++)
{
printf("\n请输入第%d个学员的信息:",i+1);
printf("\n学号:");
fflush(stdin);
scanf("%d",&stu[i].stuno);
printf("姓名:");
fflush(stdin);
gets(stu[i].stuname);
printf("语文的成绩:");
fflush(stdin);
scanf("%f",&stu[i].yuwen);
printf("数学的成绩:");
fflush(stdin);
scanf("%f",&stu[i].shuxue);
printf("英语的成绩:");
fflush(stdin);
scanf("%f",&stu[i].yingyu);
sum=stu[i].yuwen+stu[i].shuxue+stu[i].yingyu;
printf("总成绩:",sum);
}
printf("学号\t姓名\t语文\t数学\t英语\t总成绩\n"); /*显示所有学员的信息*/
for(i=0;i<sumstu;i++)
{
printf("%d\t",stu[i].stuno);
printf("%s\t",stu[i].stuname);
printf("%3.2f\t",stu[i].yuwen);
printf("%3.2f\t",stu[i].shuxue);
printf("%3.2f\t",stu[i].yingyu);
printf("%3.2f\t",sum);
printf("\n");
}
}
void sort(struct student stu[5] int *p)
{
int i,j;
float temp;
for(i=0;i<5;i++)
{
for(j=0;j<4-i;j++)
{
if(*p[j]<*p[j+1])
{
temp=*p[j+1];
*p[j+1]=*p[j];
*p[j]=temp;
}
}
}
printf("按成绩排序后的学员信息如下:\n");
printf("%d\t",stu[n].stuno);
printf("%s\t",stu[n].stuname);
printf("%3.2f\t",stu[n].yuwen);
printf("%3.2f\t",stu[i].shuxue);
printf("%3.2f\t",stu[i].yingyu);
printf("%3.2f\t",sum);
printf("\n");
}