数组指针结构体实验报告
max=min=a;
for(p=a+1;p<a+10;p++)
{
if(*max<*p)
max=p;
if(*max>*p)
min=p;
}Hale Waihona Puke p=a;if(*max==*(p+9)&&*min==*p)
{
k=*p;
*p=*(p+9);
*(p+9)=k;
}
else
if(*max==*(p+9))
{
k=*max;*max=*p;*p=k;k=*min;*min=*(p+9);*(9+p)=k;
}
else
{
k=*min;*min=*(p+9);*(p+9)=k;k=*max;*max=*p;*p=k;
}
for(p=a;p<a+10;p++)
printf("%4d",*p);
printf("\n");
}
(3)#include<stdio.h>
struct STUDENT
{
char id[10];
}
printf("\n\t学号\t姓名\t成绩1\t成绩2\t成绩3\t平均分\n");
for(i=0;i<num;i++)
{printf("\t%s\t%s",stu[i].id,stu[i].name);
for(j=0;j<3;j++)
printf("\t%d",&stu[i].score[j]);
验证性实验:数组指针结构体实验报告
1.实验目的
(1)复习c++语言数组的用法。
(2)复习c++语言指针的用法。
(3)复习c++语言结构体的用法。
(4)理解算法时间复杂度分析的基本方法。
(5)通过实验程序,分析它们的时间复杂度。
2.实验内容
(1)将1~10存入数组a[10],并将其逆序输出。
(2)用指针方式编写程序:从键盘输入10个整数数据,并存入数组,要求将10个数中最大的数与第1个输入的输交换:将10个数中最小的数和最后一个输入的数交换。
(3)有5个学生,每个学生的数据包括学号、姓名3门课的成绩、平均分。
要求:从键盘依次输入5个学生的学号、姓名3门课的成绩,自动计算3门课的平均分,将5个学生的数据在屏幕上输出。
3.实验结果
(1)#include<stdio.h>
void main()
{
int i,a[10];
for (i=0;i<=9;i++)
char name[8];
int score[3];
double ave;
}stu[5];
void main()
{
int num=5,i,j;
for(i=0;i<num;i++)
{
printf("\t请输入第%d学生的数据",i+1);
printf("\t学号:");
scanf("%s",stu[i].id);
a[i]=i+1;
for (i=9;i>=0;i--)
printf("%3d",a[i]);
printf("\n");
}
(2)#include<stdio.h>
void main()
{
int a[10],*p,*max,*min,k;
for (p=a;p<a+10;p++)
scanf("%3d",p);
printf("\t姓名:");
scanf("%s",stu[i].name);
int Tave=0;
for (j=0;j<3;j++)
{
printf("\t第%d课程的数据:",j+1);
scanf("%d",&stu[i].score[j]);
Tave+=stu[i].score[j];
}
stu[i].ave=(double)Tave/3.0;
printf("\t%f\n",stu[i].ave);
}
}