试验四.docVIP

  • 32
  • 0
  • 约2.02千字
  • 约 3页
  • 2017-05-12 发布于河南
  • 举报
试验四

试验三(2) 试验内容 已有一按从小到大次序排序好的数组,现输入一数,要求用折半查找发找出该数在数组中的位置。 实验数据:10、12、14、16、18、20、22、24、26、28 输入值:16 编写程序,实现str=str1+str2的操作,此处运算符“+”表示将两个字符串str1、str2连接成一个字符串str。用键盘将两个字符串输入字符数组str1与str2中,连接后的字符串存放在字符数组str中,并输出连接后的字符串str。 用C++提供的字符串处理函数完成上述要求。 不用C++提供的字符串处理函数完成上述要求。 实验数据:a b c d e f g h I j (3)设计一个程序,按习题4.14的要求打印杨辉三角形。 (4)在表4.4中求每个学生的平均成绩及每门课的最高分与最低分,对学生成绩表用擂台法按平均成绩降序排序后输出。 表 4.4 学生成绩情况表 学号 数学 语文 外语 平均成绩 1001 90 80 85 1002 70 75 80 1003 65 70 75 1004 85 50 60 1005 80 90 70 最高分 最低分 实验目的 通过本次实验,应达到以下目的: 初步掌握有序数组的查找、增加、删除的编程方法; 初步掌握字符数组的定义、赋初值与字符串处理函数的使用方法; 初步掌握字符串复制、连接、测长等程序的编写方法; 学会打印杨辉三角形的编程方法; 学会二维数据表的排序编程方法。 实验要求 编写实验程序; 在VC++运行环境中,输入源程序; 编译运行源程序; 输入测试数据进行程序测试; 写出运行结果。 4.(2)函数:#includeiostream.h #includestring.h void main() { char str[40],str1[40],str2[20]; coutInput two strings:\n; cin.getline(str1,20); cin.getline(str2,20); strcat(str1,str2); strcpy(str,str1); coutstr:strendl;} (4)#includeiostream.h #includeiomanip.h #define M 7 #define N 5 void main() { float a[M][N],sum,temp; int i,j,k; coutInput data:\n; for(i=0;iM-2;i++) { for(j=0;jN-1;j++) cina[i][j];} for(i=0;iM;i++) { sum=0.0; for(j=1;jN-1;j++) sum=sum+a[i][j]; a[i][N-1]=sum/(N-2);} for(j=1;jN;j++) { k=0; for(i=0;iM-2;i++) { if(a[k][j]a[i][j])k=i;} a[M-2][j]=a[k][j];} for(j=1;jN;j++) { k=0; for(i=0;iM-2;i++) { if(a[k][j]a[i][j])k=i;} a[M-1][j]=a[k][j];} for(i=0;iM-3;i++) { k=i; for(j=i+1;jM-2;j++) if(a[k][N-1]a[j][N-1])k=j; if(k!=i) for(j=0;jN;j++) { temp=a[i][j];a[i][j]=a[k][j];a[k][j]=temp;}} coutsetw(5)Num. Math. Chin. Engl. Ave.endl; cout------------------------------------\n; for(i=0;iM;i++) { for(j=0;jN;j++) if(i==M-2j==0) cout最高分setw(6); else if(i==M-1j==0) cout最低分setw(6); else couta[i][j]setw(8); coutendl;} cout-----------------------------------\n;} 5.实验心得 本次实验让我掌握有序数组的查找、增加、删除的编程方法以及字符串复制、连接、测长等程序的编写方法,而且学会打印杨辉三角

文档评论(0)

1亿VIP精品文档

相关文档