




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一、C语言回顾复习C语言中关于函数、数组、指针、结构体等的知识,为数据结构实验做准备。【实验学时】2学时【实验预习】回答以下问题:1、数组的定义与引用2、函数的定义与调用3、指针的基本概念4、结构体类型变量的定义方法5、结构体成员的访问方法【实验内容和要求】1、完成并调试程序:实现对一维数组元素的升序排序并输出结果(横线处仅能补充一条语句)。#includevoid sort(int a,int n);_;int main() int s10=1,-9,89,120,76,45,43,6,7,2,i; _; for(i=0;i10;i+) printf(%4d,si); printf(n); return 0;void sort(int a,int n) /*补充完整排序函数,可用选择或冒泡排序*/ #includevoid sort(int a,int n);void sort(int a,int n);int main() int s10=1,-9,89,120,76,45,43,6,7,2,i; sort(s,10); for(i=0;i10;i+) printf(%4d,si); printf(n); return 0;void sort(int a,int n) int i,j,t;for(i=0;in-1;i+)for(j=0;jaj+1) t=aj; aj=aj+1; aj+1=t; 2、完成并调试程序:字符串连接程序,不使用系统提供的字符串连接函数,将第二个字符串连接至第一个字符串后。(横线处仅能补充一条语句)。#include#define M 80int main()char sub1M,sub2M;char *ps1=sub1,*ps2=sub2;printf(please input strings:n);printf(string1:);gets(ps1);printf(string2:);gets(ps2);while(*ps1!=0)_ps1+_;while(*ps2!=0)_*(ps1+)=*(sp2+)_;*ps1=0;printf(new string:);puts(sub1);return 0;3、完成并调试程序:结构体与数组。实现学生数据的输入、输出和按成绩排序。(横线处仅能补充一条语句)。#include#includestruct student int sno; char sname10; float grade;void inputData(struct student s,int n);void printData(struct student s,int n);void sortData(struct student s,int n);int main() struct student a100; int n=3; inputData(a,n); sortData(a,n); printData(a,n); return 0;void inputData(struct student s,int n) int i; for(i=0;in;i+) _ scanf(“%s%s%d”,si.sno,si.sname,si.grade)_; /*读入数据*/ void printData(struct student s,int n) int i; printf(n=n); for(i=0;in;i+) _printf(“n%s%s%4d”,si.sno,si.sname,si.grade)_; /*输出数据*/ void sortData(struct student s,int n) int i,j; struct student t; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(si.gradesj.grade) _t=si_; /*实现数据交换*/ _si=sj_; _sj=t_; 4、完成并调试程序:结构体与指针。实现学生数据的输入、输出。(横线处仅能补充一条语句)。#include#include#includetypedef struct STU int sno; char sname10; float grade; struct STU *next;STU;STU *inputData(); /*创建链表,返回链表的头指针*/void printData( STU *list); /*输出链表*/int main() STU *h=NULL; h=inputData(); printData(h); return 0;STU *inputData() STU *p=NULL,*q=NULL,*head=NULL; int sno;char sname10;float grade; scanf(%d%s%f,&sno,sname,&grade); while(sno!=-1) /*输入学号为-1时,结束输入*/ p=(STU *)malloc(sizeof(STU); /*此语句功能:_计算st_u的大小_*/ p-sno=sno; strcpy(p-sname,sname); p-grade=grade; p-next=NULL; if(head=NULL) head=p; else q-next=p; q=p; scanf(%d%s%f,&sno,sname,&grade); return head;void printData( STU *list) STU *p=list; printf(n=n); while(p!=NULL) _printf(“%4dn”)_; /*输出数据*/p=p-next; 回答问题:此链表创建的是有头结点链表还是无头结点链表?_有_。课后作业:完成下面三个程序1、 在一组升序排列的整数数组中插入一数据,并使该数组仍保持升序,最后输出插入后的数组。 #include int main()int x10+1;int i;int a;int j,k;for(i=0;i20;i+=2)xi/2=i;for(i=0;i10;i+)printf(%3d,xi);scanf(%d,&a);for(i=0;ixi)if(i=10-1)x10=a;elsej=i;for(k=10-1;k=j;k-)xk+1=xk;xj=a;break; for(i=0;i11;i+)printf(%3d,xi);return 0;2、 输入4*3列矩阵,并输出最大数和最小数所在的行和列。 #include int main() int a34=0; int i,j,max,max_i,max_j; printf(Please input a 3X4 matrix:n); for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,&aij); max=a00; max_i=max_j=0; for(i=0;i3;i+) for(j=0;jmax) max=aij; max_i=i; max_j=j; printf(The max is %d,row %,col %dn,max,max_i,max_j); 3、 从键盘输入3名学生的学号、姓名和C语言成绩,输出最高分,最低分,平均分,并按由高到低的顺序输出学生的成绩。 #includestruct Stu int num; char name20; float score;void Input(struct Stu s) int i; for(i=0;i3;+i) scanf(%d%s%f,&si.num,&,&si.score);void Sort(struct Stu *a) int i,j; struct Stu *t,*p; for(i=0;i2;+i) p=a+i; for(j=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年产4100万支样品瓶运输托盘项目可行性研究报告
- 年产11.4万台精密折射仪项目可行性研究报告
- 2025年外贸英语考试指南高频词汇与实-用句型
- 2025年网络管理员认证考试题库解析
- 2025年高级物业管理面试技巧经典模拟题及应对方法
- 2025年电子商务运营初级实战案例分析题集
- 2025年物流仓储管理职位面试模拟题及答案
- 2025年职业技能安全生产主要负责人金属非金属矿山(地下矿山)-危险化学品经营单位参考题库含答案解析
- 2025年特种作业类特种设备作业-永久气体气瓶充装P1参考题库含答案解析
- 2025年特种作业类危险化学品安全作业过氧化工艺作业-生产经营从业参考题库含答案解析
- 常用急救药品课件
- 幼儿园食品安全培训内容资料
- 康复诊疗指南与规范
- 人教版小学一至六年级英语单词汇总表
- 北京客运从业资格证考试
- 2019人教版高中英语必修三单词表带音标
- 一例臀部巨大脓肿切开引流患者的个案护理汇报课件
- JCT2199-2013 泡沫混凝土用泡沫剂
- 创业的励志格言80句
- 加油站主要生产设备清单
- 初中英语2022版新课程标准测试卷及答案
评论
0/150
提交评论