最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

C语言实验报告九

来源:动视网 责编:小OO 时间:2025-09-24 10:50:53
文档

C语言实验报告九

南京信息工程大学实验(实习)报告实验(实习)名称结构体及其应用日期2019.6.7得分指导老师系专业年级2018级班次班姓名学号一、实验目的1.掌握结构体变最与结构体数组的定义和使用。2.学会使用结构体指针变量和结构体指针数组。3.掌握链表的概念,初步学会对链表进行操作。二、实验内容(1)输人10个学生的学号、姓名和成绩,求出其中的高分者和低分者。#includestructstudent{intnum;charname[20];intscore;};intmain(){inti;struct
推荐度:
导读南京信息工程大学实验(实习)报告实验(实习)名称结构体及其应用日期2019.6.7得分指导老师系专业年级2018级班次班姓名学号一、实验目的1.掌握结构体变最与结构体数组的定义和使用。2.学会使用结构体指针变量和结构体指针数组。3.掌握链表的概念,初步学会对链表进行操作。二、实验内容(1)输人10个学生的学号、姓名和成绩,求出其中的高分者和低分者。#includestructstudent{intnum;charname[20];intscore;};intmain(){inti;struct
南京信息工程大学 实验(实习)报告

实验(实习)名称  结构体及其应用     日期     2019.6.7     得分     指导老师      

系              专业              年级  2018级   班次 班 姓名    学号           

一、实验目的

1.掌握结构体变最与结构体数组的定义和使用。

2.学会使用结构体指针变量和结构体指针数组。

3.掌握链表的概念,初步学会对链表进行操作。

二、实验内容

(1)输人10个学生的学号、姓名和成绩,求出其中的高分者和低分者。

#include

struct student

{

int num;

char name[20];

int score;

};

int main( )

{    

int i;

struct student st,stmax,stmin;

stmax.score=0 ;stmin.score=100 ;

printf("\\n input data");

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

{

scanf("%d%s%d",&st.num,&st.name,&st.score);

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

{

scanf("%d%s%d",&st.num,st.name,&st.score);

if(st.scorestmax=st;

if(st.scorestmin=st;

}

printf("\\n hight:%5d%15s%5d",stmax.num,stmax.name,stmax.score);

printf("\\n low:%5d%15s%5d",stmin.num,stmin.name,stmin.score);

return 0;

}}分析程序,上机运行程序。

1.程序中,哪些是对结构体变量成员的引用,哪些是整体引用。

2.对于此例来说,用结构体变量作为数据结构有何优越性。

(2)有一学生情况如下表所示。编制一个C程序,用冒泡法对该学生情况表按成绩(grade)从低到高进行排序。

学号姓名性别年龄成绩
101zhangM1995.6
102wangF1892.2
103zhaoM1985.7
104liM2096.3
105gaoM1990.2
106linM1891.2
107maF1898.7
108zhenM2188.7
109xuM1990.1
110maoF2294.7
具体要求如下。

1.结构体类型为

Struct student

{

Int num;

Char name[8];

Char sex;

Int age;

Double grade;

}

2.在程序中用一个结构体指针数组,其中每一个指针元素指向结构体类型的各元素。

3.在程序中,首先输出排序前的学生情况,然后输出排序后的结果,其格式形式如上表所示。

(3)链表基本操作,具体要求如下。

1.初始时链表为空,即链表的头指针为空。

2.对于上表所示的学生情况,依次将每个学生的情况作为一个结点插入单链表的链头(即当前插入的结点将成为第一个结点)。

3.所有学生情况都插入链表后,从链头开始,依次输出链表中的各节点值(即每个学生的情况)。输出格式如同上表。

三、实验步骤

第一个程序输入后

对结构体变量成员的引用:st.num,st.name,st.score

整体引用:struct student

结构体变量作为数据结构有何优越性: 组织在一起,而不是分为多个变量,可以整体操作,比如赋值.

第二个程序为

#include

#define N 10

struct student

{

    int num;

    char name[8];

    char sex;

    int age;

    double grade;

};

void sort(struct student [],int n);

int main()

{

    int i;

    struct student x[N],*ptr[N];

for(i=0;i    scanf("%d %s %c %d %lf",&x[i].num,x[i].name,&x[i].sex,&x[i].age,&x[i].grade);

    printf("排序前:\\n");

for(i=0;i    {

        ptr[i]=&x[i];

        printf("%4d %10s %3c %4d %6.2lf\\n",ptr[i]->num,ptr[i]->name,ptr[i]->sex,ptr[i]->age,ptr[i]->grade);

    }

    sort(x,N);

    printf("排序后:\\n");

for(i=0;i    printf("%4d %10s %3c %4d %6.2lf\\n",x[i].num,x[i].name,x[i].sex,x[i].age,x[i].grade);

    return 0;

}

void sort(struct student x[],int n)

{

    int i,j;

    struct student t;

for(i=0;i for(j=0;j if(x[j].grade>x[j+1].grade)

    {

        t=x[j];

        x[j]=x[j+1];

        x[j+1]=t;

    }

}

输入后

第三个程序为

#include

#include

typedef struct student

{

    int num;

    char name[8];

    char sex;

    int age;

    double grade;

    struct student *next;

}STU;

STU *insert(STU *,int n);

int main()

{

    int n;

    STU *head=NULL,*p;

    printf("输入节点数:");

    scanf("%d",&n);

    head=insert(head,n);

    p=head;

    while(p)

    {

        printf("%4d %10s %3c %4d %6.2lf\\n",p->num,p->name,p->sex,p->age,p->grade);

        p=p->next;

    }

    return 0;

}

STU *insert(STU *head,int n)

{

    STU *p,*q;

    int i=1;

    p=(STU*)malloc(sizeof(STU));

    head=p;

p->next=NULL;

while(i<=n){

        printf("请输入第%d个节点数据:",i);

        scanf("%d %s %c %d %lf",&p->num,p->name,&p->sex,&p->age,p->grade);

        q=(STU *)malloc(sizeof(STU));

        q->next=p;

        p=q;

        i++; 

    }

head=p->next;

    return head;

}

四、实验小结

定义结构体时,注意末尾要有“;”;

结构体是一些值得集合,这些值称为成员变量,结构体的每个成员都可以是不同类型的变量。

结构体变量的引用:只能对结构体变量中的各个成员分别输出,不能对一个结构体变量作为一个整体输出;但是可以整体赋值。

文档

C语言实验报告九

南京信息工程大学实验(实习)报告实验(实习)名称结构体及其应用日期2019.6.7得分指导老师系专业年级2018级班次班姓名学号一、实验目的1.掌握结构体变最与结构体数组的定义和使用。2.学会使用结构体指针变量和结构体指针数组。3.掌握链表的概念,初步学会对链表进行操作。二、实验内容(1)输人10个学生的学号、姓名和成绩,求出其中的高分者和低分者。#includestructstudent{intnum;charname[20];intscore;};intmain(){inti;struct
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top