1、《高级语言程序设计》实验报告 班级: 学号: 姓名: 成绩: 实验日期: 年 月 日 实验题目: 实验五 数组程序设计 实验目的: 1. 掌握一维数组和二维数组的定义、赋值和输入输出的方法。 2. 掌握字符数组和字符串函数的使用。 3. 掌握与数组有关的算法。 实验内容:(包括算法说明:用文字或流程图说明;程序清单;运行结果:原始数据、相应的运行结果和
2、必要的说明。)
1.改错题
(1)下列程序的功能为:为指定的数组输入10个数据,并求这些数据之和。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy5_1.c存盘。
#include
3、文件名sy5_2.c存盘。
#include
4、程序以文件名sy5_3.c存盘。
#include
5、矩阵,每个对应元素相加 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
6、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 ______________
7、
}
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 8、
{a[i]= _________________;
printf("%5d",a[i]);
}
for(i=0;i 9、某个字符,此行文字和需要删除的字符均由键盘输入,请填写适当的符号或语句,使程序实现其功能,程序以文件名sy5_6.c存盘。
#include 10、 line[i]!=ch) i++;
len=strlen(line);
for(j=i;j 11、序实现如下功能:输入字符串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
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818