当前位置:文档之家› 数据结构实验1

数据结构实验1

《数据结构》实验报告
实验序号:1 实验项目名称:概论
附源程序清单:
1. #include<stdio.h>
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<stdio.h>
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<a[i])
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<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
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<stdio.h>
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<stdio.h>
#include<stdlib.h>
#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<n<11):\n");
scanf("%d",&n);
printf("\n");
if(n<=0||n>10)
{
for(i=0;;i++)
{
system("cls");
printf("输入有误,请重新输入n(0<n<11):\n");
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);
}。

相关主题