综合性试验报告.docx

上传人:b****1 文档编号:10399368 上传时间:2023-05-25 格式:DOCX 页数:22 大小:445.69KB
下载 相关 举报
综合性试验报告.docx_第1页
第1页 / 共22页
综合性试验报告.docx_第2页
第2页 / 共22页
综合性试验报告.docx_第3页
第3页 / 共22页
综合性试验报告.docx_第4页
第4页 / 共22页
综合性试验报告.docx_第5页
第5页 / 共22页
综合性试验报告.docx_第6页
第6页 / 共22页
综合性试验报告.docx_第7页
第7页 / 共22页
综合性试验报告.docx_第8页
第8页 / 共22页
综合性试验报告.docx_第9页
第9页 / 共22页
综合性试验报告.docx_第10页
第10页 / 共22页
综合性试验报告.docx_第11页
第11页 / 共22页
综合性试验报告.docx_第12页
第12页 / 共22页
综合性试验报告.docx_第13页
第13页 / 共22页
综合性试验报告.docx_第14页
第14页 / 共22页
综合性试验报告.docx_第15页
第15页 / 共22页
综合性试验报告.docx_第16页
第16页 / 共22页
综合性试验报告.docx_第17页
第17页 / 共22页
综合性试验报告.docx_第18页
第18页 / 共22页
综合性试验报告.docx_第19页
第19页 / 共22页
综合性试验报告.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

综合性试验报告.docx

《综合性试验报告.docx》由会员分享,可在线阅读,更多相关《综合性试验报告.docx(22页珍藏版)》请在冰点文库上搜索。

综合性试验报告.docx

综合性试验报告

华北科技学院计算机学院综合性实验

实验报告

 

课程名称程序设计语言(C)

实验学期至学年第学期

学生所在系部

年级专业班级

学生姓名xx学号

任课教师

实验成绩

 

计算机学院制

《程序设计语言(C)》课程综合性实验报告

开课实验室:

基础年月日

实验题目

基于数组和函数的计算

一、实验目的

通过实验把C语言中的顺序结构、选择结构、循环结构、数组、函数等主要知识点进行综合应用,加深学生对编程算法思想的理解,进一步提高学生的编程能力。

二、设备与环境

硬件:

多媒体计算机

软件:

Windows系列操作系统、C语言编译系统

三、实验内容

1.数组的赋值与输出

2.数组的逆序输出

3.对已定数组插入数值并按规律排序

4.比较两数组的大小

5.统计所含偶数值个数,计算其平均值

6.求数组行平均数

7.求数组最大值

8.统计数组内各种类元素个数

9.指针查找输入元素位置

10.退出程序

四、实验结果及分析

#include

#include

voidszfz()/*1数组的赋值与输出*/

{

inta[10],i;

printf("数组的赋值与输出\n");

printf("请输入10个数");

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

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

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

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

printf("\n");

}

voidnxsc()/*2数组逆序输出*/

{

inta[10]={10,9,8,7,6,5,4,3,2,1};

inti,t;

printf("数组逆序输出\n");

printf("原数组为:

");

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

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

printf("\n");

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

{t=a[i];

a[i]=a[9-i];

a[9-i]=t;}

printf("数组逆序输出:

");

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

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

}

voidaglcz()/*3按照从小到大规律在数组插入输入值*/

{

inta[11]={1,2,3,4,5,6,7,8,9,10};

inti,j,n;

printf("原数组为");

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

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

printf("\n");

printf("请输入插入数组的数字n=");

scanf("%d",&n);

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

if(n

{

for(j=9;j>=i;j--)

a[j+1]=a[j];

break;

}

a[i]=n;

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

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

;

}

printf("\n");

}

voidbjdx()/*4比较俩数组的大小*/

{

charstr1[10]={"china"};

charstr2[10]={"chpan"};

inti=0;

printf("str1=china\nstr2=chpan\n");

while(str1[i]==str2[i])

i++;

if(str1[i]>str2[i])

printf("str1大");

elseif(str1[i]

printf("str2大\n");

}

voidjsosz()/*5计算数组所含偶数值个数,及其平均值*/

{

inta[10];

inti,sum=0,j=0;

floatave;

printf("计算数组所含偶数值之和,及其平均值\n");

printf("请输入10个数\n");

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

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

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

if(a[i]%2==0)

{j++;

sum+=a[i];}

ave=sum/j;

printf("偶数个数为:

%d\n",j);

printf("偶数平均值为%.2f\n",ave);

}

voidhpjz()/*6行平均值*/

{

inta[3][4]={{2,3,4,6},{4,5,3,8},{8,2,3,4}};

floatavr[3],sum;

inti,j;

printf("原数组为\n");

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

{printf("\n");

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

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

}

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

{sum=0;

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

sum+=a[i][j];

avr[i]=sum/4;}

printf("\n");

printf("行平均数为:

\n");

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

printf("%5.3f\n",avr[i]);

}

voidyszdz()/*7求数组内元素最大值*/

{

inta[10],i,x;

printf("请输入十个数:

");

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

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

x=a[0];

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

if(x

x=a[i];

printf("数组内最大值为%d",x);

}

 

voidtjgs()/*8统计各元素种类个数*/

{

charstr[3][81];

inti,j;

intyd=0,yx=0,sz=0,kg=0,qita=0;

printf("请输入字符");

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

gets(str[i]);

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

for(j=0;str[i][j]!

='\0';j++)

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

yd++;

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

yx++;

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

sz++;

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

kg++;

else

qita++;

printf("出现大写字母,小写字母,数字,空格,其他的数目是:

");

printf("%d,%d,%d,%d,%d\n",yd,yx,sz,kg,qita);

}

/*9指针查找输入元素*/

intsearch(inta[],intn,intx)

{

inti;

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

if(a[i]==x)

returni;

}

voidlsd()

{

inta[10],i,k,x,*p;

printf("请输入数组:

");

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

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

printf("输入查找元素:

");

scanf("%d",&x);

p=&x;

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

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

printf("\n");

k=search(a,10,*p);

if(k==10)printf("%d不在此数组中\n",*p);

elseprintf("%d是数组中的第%d个元素\n",*p,k+1);

}

voidmain()

{

inti;

abc:

printf("\n");

printf("++++++++++++++++++++欢迎使用数组应用系统++++++++++++++++++++++\n");

printf("++++++++++++++++++++++++++数组应用系统++++++++++++++++++++++++\n");

printf("+1,数组的赋值与输出+\n");

printf("+2,数组的逆序输出+\n");

printf("+3,数组插入数据的排序+\n");

printf("+4,比较两数组的大小+\n");

printf("+5,统计所含偶数值个数,计算其平均值+\n");

printf("+6,求数组行平均数+\n");

printf("+7,求数组的最大值+\n");

printf("+8,统计数组内各种类元素个数+\n");

printf("+9,指针查找输入元素位置+\n");

printf("+10,退出程序+\n");

printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");

printf("请输入所选程序代号:

");

scanf("%d",&i);

switch(i)

{

case1:

szfz();break;

case2:

nxsc();break;

case3:

aglcz();break;

case4:

bjdx();break;

case6:

hpjz();break;

case5:

jsosz();break;

case7:

yszdz();break;

case8:

tjgs();break;

case9:

lsd();break;

case10:

gotoloop;}

getch();

gotoabc;

loop:

;}

 

voidszfz()/*1数组的赋值与输出,scanf函数为数组赋值并用printf函数输出*/

{

inta[10],i;

printf("数组的赋值与输出\n");

printf("请输入10个数");

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

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

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

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

printf("\n");

}

voidnxsc()/*2数组逆序输出,以中间值t为桥梁分别调换数组两端数值*/

{

inta[10]={10,9,8,7,6,5,4,3,2,1};

inti,t;

printf("数组逆序输出\n");

printf("原数组为:

");

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

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

printf("\n");

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

{t=a[i];

a[i]=a[9-i];

a[9-i]=t;}

printf("数组逆序输出:

");

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

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

}

voidaglcz()/*3按照从小到大规律在数组插入输入值,首先查找所插入位置,再将此位置后的的所有数值均后移一位,再将所输入数值插入合适位置*/

{

inta[11]={1,2,3,4,5,6,7,8,9,10};

inti,j,n;

printf("原数组为");

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

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

printf("\n");

printf("请输入插入数组的数字n=");

scanf("%d",&n);

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

if(n

{

for(j=9;j>=i;j--)

a[j+1]=a[j];

break;

}

a[i]=n;

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

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

;

}

printf("\n");

}

voidbjdx()/*4比较俩数组的大小,借助while函数用for函数循环比较两字符串ASCII码,并输出最大值*/

{

charstr1[10]={"china"};

charstr2[10]={"chpan"};

inti=0;

printf("str1=china\nstr2=chpan\n");

while(str1[i]==str2[i])

i++;

if(str1[i]>str2[i])

printf("str1大");

elseif(str1[i]

printf("str2大\n");

}

voidjsosz()/*5计算数组所含偶数值个数,及其平均值,用if循环,并用逻辑判断符累加符合条件元素累加值及其个数之和,并将其相除求其平均值*/

{

inta[10];

inti,sum=0,j=0;

floatave;

printf("计算数组所含偶数值之和,及其平均值\n");

printf("请输入10个数\n");

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

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

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

if(a[i]%2==0)

{j++;

sum+=a[i];}

ave=sum/j;

printf("偶数个数为:

%d\n",j);

printf("偶数平均值为%.2f\n",ave);

}

voidhpjz()/*6行平均值,建立新数组avr[]分别求数组每行平均值,并赋值给avr[]*/

{

inta[3][4]={{2,3,4,6},{4,5,3,8},{8,2,3,4}};

floatavr[3],sum;

inti,j;

printf("原数组为\n");

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

{printf("\n");

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

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

}

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

{sum=0;

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

sum+=a[i][j];/*累加行数组值*/

avr[i]=sum/4;}/*求行平均值*/

printf("\n");

printf("行平均数为:

\n");

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

printf("%5.3f\n",avr[i]);

}

voidyszdz()/*7求数组内元素最大值,for循环,if函数比较分别比较取最大值赋值*/

{

inta[10],i,x;

printf("请输入十个数:

");

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

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

x=a[0];

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

if(x

x=a[i];

printf("数组内最大值为%d",x);

}

voidtjgs()/*8统计各元素种类个数,for循环比较字符串内字符,以逻辑判断符分别使符合条件元素分别累加*/

{

charstr[3][81];

inti,j;

intyd=0,yx=0,sz=0,kg=0,qita=0;

printf("请输入字符");

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

gets(str[i]);

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

for(j=0;str[i][j]!

='\0';j++)

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

yd++;

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

yx++;

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

sz++;

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

kg++;

else

qita++;

printf("出现大写字母,小写字母,数字,空格,其他的数目是:

");

printf("%d,%d,%d,%d,%d\n",yd,yx,sz,kg,qita);

}

intsearch(inta[],intn,intx)/*9指针查找输入元素,通过指针指向符合条件数值,通过计算其循环次数计算位置*/

{

inti;

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

if(a[i]==x)

returni;

}

voidlsd()

{

inta[10],i,k,x,*p;

printf("请输入数组:

");

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

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

printf("输入查找元素:

");

scanf("%d",&x);

p=&x;

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

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

printf("\n");

k=search(a,10,*p);

if(k==10)printf("%d不在此数组中\n",*p);

elseprintf("%d是数组中的第%d个元素\n",*p,k+1);

}

/*10、goto语句跳往程序结尾*/

voidmain()/*主函数,调用函数选项界面,使用swith函数判断所输入数值,调用执行所代表函数,执行完毕后以goto语句跳回主函数开始处*/

{

inti;

abc:

printf("\n");

printf("++++++++++++++++++++欢迎使用数组应用系统++++++++++++++++++++++\n");

printf("++++++++++++++++++++++++++数组应用系统++++++++++++++++++++++++\n");

printf("+1,数组的赋值与输出+\n");

printf("+2,数组的逆序输出+\n");

printf("+3,数组插入数据的排序+\n");

printf("+4,比较两数组的大小+\n");

printf("+5,统计所含偶数值个数,计算其平均值+\n");

printf("+6,求数组行平均数+\n");

printf("+7,求数组的最大值+\n");

printf("+8,统计数组内各种类元素个数+\n");

printf("+9,指针查找输入元素位置+\n");

printf("+10,退出程序+\n");

printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");

printf("请输入所选程序代号:

");

scanf("%d",&i);/*输入所需功能代表的数字*/

switch(i)/*根据所输入数字判断调用分函数*/

{

case1:

szfz();break;

case2:

nxsc();break;

case3:

aglcz();break;

case4:

bjdx();break;

case6:

hpjz();break;

case5:

jsosz();break;

case7:

yszdz();break;

case8:

tjgs();break;

case9:

lsd();break;

case10:

gotoloop;}

getch();/*跳回主函数开始部分,重新执行*/

gotoabc;

loop:

;}

教师评价

评定项目

A

B

C

D

评定项目

A

C

D

算法正确

界面美观,布局合理

程序结构合理

操作熟练

语法、语义正确

解析完整

实验结果正确

文字流畅

报告规范

题解正确

其他:

 

评价教师签名:

年月日

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

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2