实验报告实验六数组.docx

上传人:b****4 文档编号:24134633 上传时间:2023-05-24 格式:DOCX 页数:7 大小:30.19KB
下载 相关 举报
实验报告实验六数组.docx_第1页
第1页 / 共7页
实验报告实验六数组.docx_第2页
第2页 / 共7页
实验报告实验六数组.docx_第3页
第3页 / 共7页
实验报告实验六数组.docx_第4页
第4页 / 共7页
实验报告实验六数组.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

实验报告实验六数组.docx

《实验报告实验六数组.docx》由会员分享,可在线阅读,更多相关《实验报告实验六数组.docx(7页珍藏版)》请在冰豆网上搜索。

实验报告实验六数组.docx

实验报告实验六数组

实验报告(实验六-数组)

TaishanUniversity

 

教师教育学院实验报告

【-学年第学期】

 

【一、基本信息】

【实验课程】

C语言程序设计

【设课形式】

非独立

【课程学分】

3

【实验项目】

实验六数组(—)

【项目类型】

验证型

【项目学时】

6

【实验室名】

网络技术实验室

【专业名称】

教育技术学

【年级】

2011级

【实验班组】

【学生姓名】

【学号】

【同组学生】

【实验日期】

2012.10.29

【二、实验教师对实验报告的评价及意见】

 

实验成绩:

教师签名:

批改日期:

【三、实验预习】

①实验目的和要求;②实验内容和原理或设计的知识点(综合性实验);③实验条件(实验设备、软件、材料等):

④实验方法、步骤、操作过程或实验设计方案(设计型实验);⑤根据需要合理设计实验数据记录表格。

实验目的和要求:

一、实验目的:

1.掌握一维数组和二维数组的定义、初始化。

2.掌握一维数组和二维数组的输入输出和使用的方法。

3.掌握字符数组和字符串函数的使用

4.掌握与数组有关的算法

5.掌握冒泡法排序、选择法排序

二、实验要求:

编程序并上机调试运行。

1.用冒泡法对20个整数排序。

20个整数需要键盘键入。

2.用选择法对20个整数排序。

20个整数需要键盘键入。

3.找出一个二维数组的“靶点”,即该位置上的元素在该行上最大,在该列上最小(该数组也可能没有靶点)。

4.有一篇文章有3行文字,每行80个字符,要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。

 

【四、实验过程】

该部分主要包括学生在实验过程中所用的实际实验方法、步骤、操作过程及注意事项,实验设计方案(设计型实验)的过程,实验现象,原始数据记录等。

程序代码和运行结果

1.冒泡法

#include

intmain()

{

inta[10];

inti,j,t;

printf("input10numbers:

\n");

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

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

printf("\n");

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

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

if(a[i]>a[i+1])

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

printf("thesortednumbers:

\n");

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

printf("%d",a[i]);

printf("\n");

return0;

}

2.选择法

#include

intmain()

{inti,j,min,temp,a[21];

printf("enterdata:

\n");

for(i=1;i<=20;i++)

{printf("a[%d]=",i);

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

}

printf("\n");

printf("Theorginalnumbers:

\n");

for(i=1;i<=20;i++)

printf("%5d",a[i]);

printf("\n");

for(i=1;i<=19;i++)

{min=i;

for(j=i+1;j<=20;j++)

if(a[min]>a[j])min=j;

temp=a[i];

a[i]=a[min];

a[min]=temp;

}

printf("\nThesortednumbers:

\n");

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

printf("%5d",a[i]);

printf("\n");

return0;

}

3.找靶点

#include

#defineN4

#defineM5/*数组为4行5列*/

intmain()

{

inti,j,k,a[N][M],max,maxj,flag;

printf("pleaseinputmatrix:

\n");

for(i=0;i

for(j=0;j

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

for(i=0;i

{max=a[i][0];/*开始时假设a[i][0]最大*/

maxj=0;/*将列号0赋给maxj保存*/

for(j=0;j

if(a[i][j]>max)

{max=a[i][j];/*将本行的最大数存放在max中*/

maxj=j;/*将最大数所在的列号存放在maxj中*/

}

flag=1;/*先假设是鞍点,以flag为1代表*/

for(k=0;k

if(max>a[k][maxj])/*将最大数和其同列元素相比*/

{flag=0;/*如果max不是同列最小,表示不是鞍点令flag1为0*/

continue;}

if(flag)/*如果flag1为1表示是鞍点*/

{printf("a[%d][%d]=%d\n",i,maxj,max);/*输出鞍点的值和所在行列号*/

break;

}

}

if(!

flag)/*如果flag为0表示鞍点不存在*/

printf("Itisnotexist!

\n");

return0;

}

4.统计字符

#include

intmain()

{inti,j,upp,low,dig,spa,oth;

chartext[3][80];

upp=low=dig=spa=oth=0;

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

{printf("pleaseinputline%d:

\n",i+1);

gets(text[i]);

for(j=0;j<80&&text[i][j]!

='\0';j++)

{if(text[i][j]>='A'&&text[i][j]<='Z')

upp++;

elseif(text[i][j]>='a'&&text[i][j]<='z')

low++;

elseif(text[i][j]>='0'&&text[i][j]<='9')

dig++;

elseif(text[i][j]=='')

spa++;

else

oth++;

}

}

printf("\nuppercase:

%d\n",upp);

printf("lowercase:

%d\n",low);

printf("digit:

%d\n",dig);

printf("space:

%d\n",spa);

printf("other:

%d\n",oth);

return0;

}

 

【五、结果分析与讨论】

根据相关的理论知识对所得到的实验结果进行解释和分析,包括实验的结果是否与理论相吻合以及原因,实验后的心得体会、建议等。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1