资源描述:
《《C语言编程》实验报告-4》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《C语言编程》上机实验报告实验题目实验四数组程序设计实验环境TurboC++3.0或visualC++6.0或Win-TC实验目的1.掌握一维数组和二维数组的定义、赋值和输入输出的方法。2.掌握字符数组和字符串函数的使用。3.掌握与数组有关的算法。实验内容1.改错题(1)下列程序的功能为:为指定的数组输入10个数据,并求这些数据之和。请纠正程序中存在错误,使程序实现其功能。#includevoidmain(){intn=10,i,sum=0;inta[n];for(i=0;i<10;i++){scanf("%d",a[
2、i]);sum=sum+a[i];}printf("sum=%d",sum);}(2)下列程序的功能为:将字符串b连接到字符串a。请纠正程序中存在错误,使程序实现其功能。#includevoidmain(){chara[]="wel",b[]="come";inti,n=0;while(!a[n])n++;for(i=0;b[i]!=' ';i++)a[n+i]=b[i];printf("%s",a);}(3)下列程序的功能为:输入两个矩阵A、B的值,求c=A+B。请纠正程序中存在错误,使程序实现其功能。#i
3、ncludevoidmain(){inta[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++)print
4、f("%3d",c[i][j]);printf("");}}2.程序填空(1)以下程序的功能是:采用二分法在给定的有序数组中查找用户输入的值,并显示查找结果。请填写适当的符号或语句,使程序实现其功能。#include"stdio.h"#defineN10main(){inta[]={0,1,2,3,4,5,6,7,8,9},k;intlow=0,high=N-1,mid,find=0;printf("请输入欲查找的值:");scanf("%d",&k);while(low<=high){mid=(low+high)/2;if(a
5、[mid]==k){printf("找到位置为:%d",mid+1);find=1;}if(a[mid]>k)__________________;else__________________;}if(!find)printf(“%d未找到”,k);`}(2)以下程序的功能是:采用选择排序法对随机产生的20个100以内的无序整数按由大到小的顺序重新排列,并输出重新排列后的有序整数。请填写适当的符号或语句,使程序实现其功能。#defineN20#include"stdio.h"voidmain(){inta[N],i,j,k,t;
6、printf("排序前:");for(i=0;i7、,此行文字和需要删除的字符均由键盘输入,请填写适当的符号或语句,使程序实现其功能。#include#includevoidmain(){charline[80];charch;inti,j;intlen;printf("输入一行字符");;printf("输入要删除字符");ch=getchar();i=0;while(line[i]!=' '){while(&&line[i]!=ch)i++;len=strlen(line);for(j=i;j