- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构》实验指导及报告书
/学年第学期
姓名:______________
学号:______________
班级:______________
指导教师:______________
数学与统计学院
2011
预备实验C语言的函数数组指针结构体知识
一、实验目的
1、复习C语言中函数、数组、指针、结构体与共用体等的观点。
2、熟习利用C语言进行程序设计的一般方法。
二、实验预习
说明以下C语言中的观点
1、函数:
2、数组:
3、指针:
4、结构体
5、共用体
三、实验内容和要求
1、调试程序:输出100之内全部的素数(用函数实现)。
#include
intisprime(intn){/*判断一个数能否为素数*/
intm;
for(m=2;m*m=n;m++)
if(n%m==0)return0;
return1;
}
intmain( ){/*输出100之内全部素数*/
inti;printf(\n);
for(i=2;i100;i++)
if(isprime(i)==1)printf(%4d,i);
return0;
}
运转结果:
2、调试程序:对一维数组中的元素进行逆序摆列。
#include
#defineN10
intmain( ){
inta[N]={0,1,2,3,4,5,6,7,8,9},i,temp;
printf(\ntheoriginalArrayis:\n);
for(i=0;iN;i++)
printf(%4d,a[i]);
for(i=0;iN/2;i++){
/*
互换数组元素使之逆序
*/
temp=a[i];
a[i]=a[N-i-1];
a[N-i-1]=temp;
}
printf(\nthechangedArrayis:\n);
for(i=0;iN;i++)
printf(%4d,a[i]);
return0;
}
运转结果:
3、调试程序:在二维数组中,若某一地点上的元素在该行中最大,而在该列中最小,则该
元素即为该二维数组的一个鞍点。要求从键盘上输入一个二维数组,当鞍点存在时,把鞍点找出来。
#include
#defineM3
#defineN4
intmain( ){
inta[M][N],i,j,k;
printf(\n请输入二维数组的数据:\n);
for(i=0;iM;i++)
for(j=0;jN;j++)
scanf(%d,a[i][j]);
for(i=0;iM;i++){/*输出矩阵*/
for(j=0;jN;j++)
printf(%4d,a[i][j]);
printf(\n);
}
for(i=0;iM;i++){
k=0;
for(j=1;jN;j++)/*找出第i行的最大值*/
if(a[i][j]a[i][k])
k=j;
for(j=0;jM;j++)/*判断第i行的最大值能否为该列的最小值*/
if(a[j][k]a[i][k])
break;
if(j==M)/*在第i行找到鞍点*/
printf(%d,%d,%d\n,a[i][k],i,k);
}
return0;
}
运转结果:
4、调试程序:利用指针输出二维数组的元素。
#include
intmain( ){
inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int*p;
for(p=a[0];pa[0]+12;p++){
if((p-a[0])%4==0)printf(\n);
printf(%4d,*p);
}
return0;
}
运转结果:
5、调试程序:设有一个教师与学生通用的表格,教师的数占有姓名、年纪、职业、教研室
四项,学生有姓名、年纪、专业、班级四项,编程输入人员的数据,再以表格输出。
#include
#defineN10
structstudent{
charname[8];
intage;
charjob;
/*
/*
/*
姓名*/
年纪*/
职业或专业,用
s或
t表示学生或教师
*/
union{
intclass;
charoffice[10];/*
/*
班级*/
教研室*/
}depa;
}stu[N];
intmain( ){
inti;intn;
printf(“\n请输入人员数
scanf(“%d”,n);
for(i=0;in;i++){
printf(\n请输入第
n”);
/*输入n个人员的信息*/
%d人员的信息:(nameagejobclass/office)\n,i+1);
scanf(%s,%d,%c,stu[i].name,stu[i].age,stu[i].job);
if(stu[i].job==
’s’)
scanf(
您可能关注的文档
- 数学能力结构分析.docx
- 数学课堂中如何体现教师的教和学生的学.docx
- 数学选择题10种答题技巧.docx
- 数形结合思想例题分析.docx
- 数据仓库与数据挖掘复习提纲.docx
- 数据库第4章数据库性练习题.docx
- 数据库系统原理试卷.docx
- 数据库设计实验报告内容示例.docx
- 数据挖掘作业.docx
- 数据挖掘实验报告(参考).docx
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)