收藏 分销(赏)

《经典规范C语言程序设计》实验报告(第五章).doc

上传人:仙人****88 文档编号:8553938 上传时间:2025-02-18 格式:DOC 页数:4 大小:41KB
下载 相关 举报
《经典规范C语言程序设计》实验报告(第五章).doc_第1页
第1页 / 共4页
《经典规范C语言程序设计》实验报告(第五章).doc_第2页
第2页 / 共4页
点击查看更多>>
资源描述
《高级语言程序设计》实验报告 班级: 学号: 姓名: 成绩: 实验日期: 年 月 日 实验题目: 实验五 数组程序设计 实验目的: 1. 掌握一维数组和二维数组的定义、赋值和输入输出的方法。 2. 掌握字符数组和字符串函数的使用。 3. 掌握与数组有关的算法。 实验内容:(包括算法说明:用文字或流程图说明;程序清单;运行结果:原始数据、相应的运行结果和必要的说明。) 1.改错题 (1)下列程序的功能为:为指定的数组输入10个数据,并求这些数据之和。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy5_1.c存盘。 #include<stdio.h> void main() {int n=10,i,sum=0; int a[n]; for(i=0;i<10;i++) { scanf("%d",a[i]); sum=sum+a[i]; } printf("sum=%d\n",sum); } (2)下列程序的功能为:将字符串b连接到字符串a。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy5_2.c存盘。 #include<stdio.h> void main( ) { char a[]="wel",b[]="come"; int i,n=0; while(!a[n]) n++; for(i=0;b[i]!='\0';i++) a[n+i]=b[i]; printf("%s\n",a); } 原始数据、相应的运行结果和必要的说明。 原始数据、相应的运行结果和必要的说明。 (3)下列程序的功能为:输入两个矩阵A、B的值,求c=A+B 。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy5_3.c存盘。 #include <stdio.h> void main() { int a[2][3],b[2][3],c[2][3],i,j; for ( i = 1; i<2;i++) for( j=1; j<3; j++) scanf("%d",a[i][j]); for ( i = 1; i<2; i++) for( j = 1; j<3; j++) scanf("%d",b[i][j]); for ( i = 1; i<2; i++) //A+B矩阵,每个对应元素相加 for( j =1; j<3; j++) c[i][j]=a[i][j]+b[i][j]; for ( i = 1; i<2; i++) { for( j=1; j<3; j++) printf("%3d",c[i][j]); printf("\n"); } } 2.程序填空 (1)以下程序的功能是:采用二分法在给定的有序数组中查找用户输入的值,并显示查找结果。请填写适当的符号或语句,使程序实现其功能,程序以文件名sy5_4.c存盘。 #include "stdio.h" #define N 10 main() { int a[ ]={0,1,2,3,4,5,6,7,8,9},k; int low=0,high=N-1,mid,find=0; printf("请输入欲查找的值:\n"); scanf("%d",&k); while (low<=high) { mid=(low+high)/2; if(a[mid]==k) { printf("找到位置为:%d\n",mid+1);find=1; } if(a[mid]>k) __________________; else __________________; } if(!find) printf(“%d未找到\n”,k);` } (2)以下程序的功能是:采用选择排序法对随机产生的20个100以内的无序整数按由大到小的顺序重新排列,并输出重新排列后的有序整数。请填写适当的符号或语句,使程序实现其功能,程序以文件名sy5_5.c存盘。 #define N 20 #include "stdio.h" void main() {int a[N],i,j,k,t; printf("排序前:\n"); for(i=0;i<N;i++) {a[i]= _________________; printf("%5d",a[i]); } for(i=0;i<N-1;i++) {k=i; for(j=i+1;j<N;j++) if(_________________) k=j; if(_________________) { t=a[k]; a[k]=a[i]; a[i]=t;} } printf("排序后:\n"); for(i=0;i<N;i++) printf("%5d",a[i]); } (3)下列程序的功能为:在一行文字中,删除其中某个字符,此行文字和需要删除的字符均由键盘输入,请填写适当的符号或语句,使程序实现其功能,程序以文件名sy5_6.c存盘。 #include<stdio.h> #include<string.h> void main() {char line[80] ; char ch; int i,j; int len; printf("输入一行字符 \n"); ; printf("输入要删除字符 "); ch=getchar(); i=0; while(line[i]!='\0' ) {while( && line[i]!=ch) i++; len=strlen(line); for(j=i;j<len-1;j++) ; line[j]='\0'; } puts(line); } 3.编程题 (1)编写一个程序实现如下功能:任意输入10个整数的数列完成下列运算(程序以文件名sy5_7.c存盘): ①要求用选择排序法将数列由小到大排序; ②在排序好的数列中插入一个数,使数列保持从小到大的顺序。 (2)编写一个程序实现如下功能:输入字符串s1和s2以及插入位置d,在字符串s1中的指定位置d处插入字符串s2。如:输入字符串"SHHAI"、"ANG"和位置3,则输出: "SHANGHAI";若d大于串s1长度时,串s2插入在s1后面,如s1="SHANG",S2="HAI",d=8,则s1="SHANGHAI"(程序以文件名sy5_8.c存盘)。 (3)编写一个程序实现如下功能:找出一个二维数组的“鞍点”,即该位置上的元素在该行是最大,在该列是最小。注意二维数组可能没有“鞍点”(程序以文件名sy5_9.c存盘) 分析与思考:(调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会) 4
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服