1.给结构体变量赋值并输出其值
#include
struct stu
{
long num;
char name[12];
float score;
}stu1,stu2;
main()
{
scanf("%ld%s%f",&stu1.num,&stu1.name,&stu1.score);
stu2=stu1;
printf("学号=%ld 姓名=%s 成绩=%5.1f\n",stu1.num,stu1.name,stu1.score);
printf("学号=%ld 姓名=%s 成绩=%5.1f\n",stu2.num,stu2.name,stu2.score);
}
2.一个学生具有学号、姓名、3门课程成绩共5个信息。定义结构体变量,调用函数求3门课程的平均分。
#include
struct stu
{
long num;
char name[12];
int score[3];
};
float aver(struct stu ss)
{
float f;
f=(ss.score[0]+ss.score[1]+ss.score[2])/3.0;
return f;
}
main()
{
struct stu s;
float a;
scanf("%ld",&s.num);
gets(s.name);
scanf("%d%d%d",&s.score[0],&s.score[1],&s.score[2]);
a=aver(s);
printf("学号=%ld 姓名=%s 成绩=%d %d %d\n",s.num,s.name,s.score[0],s.score[1],s.score[2]);
printf("平均成绩=%5.1f\n",a);
}
3.对5个学生的信息按成绩进行降序排序
#include
#define N 5
struct student
{
long num;
char name[12];
char sex;
int age;
float score;
}stud[N];
main()
{
int i,j;
struct student t;
for(i=0;i
4.用指针变量输出结构体
5.有5个学生的信息,每个学生的信息包括学号和成绩,编程序求成绩最高的学生的信息。
#include
#include
main()
{
struct student
{
long num;
float score;
};
struct student s[5]={107153,95.5,107154,70.0,107151,98.0,107155,55.0,107159,75.0
};
struct student *ps;
int i;
ps=(struct student*)malloc(sizeof(struct student));
ps->num=s[0].score;
ps->score=s[0].score;
for(i=1;i<5;i++)
if(s[i].score>ps->score)
{
ps->num=s[i].num;ps->score=s[i].score;
}
printf("最高成绩学生:学号=%1d成绩=%5.1f\n",ps->num,ps->score);
free(ps);
}
6.用动态数组产生n个[40,100]的随机数,并采用冒泡排序法排序
#include
#include
#include
main()
{
int i,j,t,*pa,n;
scanf("%d",&n);
srand(time(0));
pa=(int *)calloc(n,sizeof(int));
for(i=0;i*(pa+j+1))
{
t=*(pa+j);*(pa+j)=*(pa+j+1);*(pa+j+1)=t;
}
for(i=0;i