数据结构实验1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构》实验报告

实验序号:1 实验项目名称:概论

附源程序清单:

1. #include

void main()

{

int i;

int num[10];

int *p;

for(i=0;i<=9;i++)

num[i]=i+1;

for(p=(num+9);p>=(num+0);p--)

printf("%d ",*p);

printf("\n");

}

2. #include

void main()

{

void swap(int *a,int *b);

int i;

int a[10];

int *p,*max,*min;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

max=min=a;

for(i=0;i<10;i++)

{

if(*max

max=&a[i];

if(*min>a[i])

min=&a[i];

}

p=a;

swap(p,max);

swap((p+9),min);

for(p=a;p<=(a+9);p++)

printf("%d ",*p);

printf("\n");

}

void swap(int *a,int *b) {

int temp;

temp=*a;

*a=*b;

*b=temp;

}

3. #include

#include

#include

#include

typedef struct

{

char num[5];

char name[20];

float score1;

float score2;

float score3;

float average;

}Student;

void main()

{

float count(int a,int b,int c);

Student stud[5];

int i;

printf("请输入5位学生的信息与成绩:\n");

printf("学号姓名成绩1 成绩2 成绩3\n");

for(i=0;i<5;i++)

scanf("%s %s %f %f %f",stud[i].num,stud[i].name,&stud[i].score1,&stud[i] .score2,&stud[i].score3);

for(i=0;i<5;i++)

stud[i].average=count(stud[i].score1,stud[i].score2,stud[i].score3);

system("cls");

printf("学号姓名成绩1 成绩2 成绩3 平均分\n");

for(i=0;i<5;i++)

printf("%s %s %.2f %.2f %.2f %.2f\n",stud[i].num,stud[i].name,stud[i ].score1,stud[i].score2,stud[i].score3,stud[i].average);

}

float count(int a,int b,int c)

{

float d;

return d=(a+b+c)/3.0;

}

4. #include

void main()

{

void swap(int *a,int *b);

int i;

int num[10];

int *p;

for(i=0;i<=9;i++)

num[i]=i+1;

p=num; //p=1

for(i=0;i<4;i++)

swap((p+i),(p+9-i)); //(1,10)(2,9)................

for(p=(num+9);p>=(num+0);p--)

printf("%d ",*p);

printf("\n");

}

void swap(int *a,int *b)

{

int temp;

temp=*a;

*a=*b;

*b=temp;

}

5. #include

#include

#define NUMBER 11

void main()

{

int i,n;

int num[NUMBER];

int *p;

for(i=0;i<10;i++)

num[i]=i+1;

printf("请输入一个整数n(0

scanf("%d",&n);

printf("\n");

if(n<=0||n>10)

{

for(i=0;;i++)

{

system("cls");

printf("输入有误,请重新输入n(0

scanf("%d",&n);

printf("\n");

if(n>0&&n<=10)

break;

}

}

for(p=(num+9);p>=num;p--)

if(n<*p)

*(p+1)=*p;

else

{

*(p+1)=n;

break;

}

for(p=num;p<=(num+10);p++)

printf("%d\n",*p);

}

相关文档
最新文档