综合性试验报告.docx
- 文档编号:24247066
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:22
- 大小:445.69KB
综合性试验报告.docx
《综合性试验报告.docx》由会员分享,可在线阅读,更多相关《综合性试验报告.docx(22页珍藏版)》请在冰豆网上搜索。
综合性试验报告
华北科技学院计算机学院综合性实验
实验报告
课程名称程序设计语言(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++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 综合性 试验报告