C语言实验4-水电11级4班-郭成-20112389.docVIP

  • 1
  • 0
  • 约2.37千字
  • 约 5页
  • 2017-06-07 发布于重庆
  • 举报
C语言实验4-水电11级4班-郭成-20112389

计算机专业教研室实验报告(C语言) 实验4 水电11级四班 郭成 姓名 系别班级 学号 实验日期 指导教师 实验成绩 郭成 水电2011级4班2012.4.4 倪铭 一、实验目的 1.掌握一维数组与二维数组的定义、赋值及输入输出方法。 2.掌握字符数组和字符串函数的使用。 3.掌握与数组有关的算法(特别是排序算法) 二、实验内容 1.用选择法对10个整数排序。10个整数用scanf函数输入、 2.有15个数存放在一个数组中,输入一个数要求用折半查找法找出该数是数组中的第几个元素的值,如果该数不在数组中,则输出无此数,要找的数用scanf函数输入。 3.将两个串连接起来,不要用strcat函数。 4.找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。至少准备两组测试数据: 三、实验具体实验程序代码(要有注释)、测试结果(最好截图)和实验总结 1、 #include stdio.h main() { int a[10]; int i,j,c,min; for(i=1;i=10;i++) { printf(a[%d]=,i); scanf(%d,a[i]); } for(i=1;i10;i++) { min=i; for(j=i+1;j=10;j++) if(a[min]a[j]) min=j; c=a[i]; a[i]=a[min]; a[min]=c; } for(i=1;i=10;i++) printf(%d\t,a[i]); printf(\n); } 2、#includestdio.h main() { int a[15],i=0,x,j=14,m,n,k,min,b; { for(k=1;k=15;k++) { printf(a[%d]=,k); scanf(%d,a[k]); } for(k=1;k15;k++) { min=k; for(n=k+1;n=15;n++) if(a[min]a[n]) min=n; b=a[k]; a[k]=a[min]; a[min]=b; } for(k=1;k=15;k++) printf(%d\t,a[k]); printf(\n); } for(k=1;k=15;k++) { printf(a[%d]=,k); scanf(%d,a[k]); } printf(输入元素:); scanf(%d,x); while(ij) { m=(i+j)/2; if(xa[m]) j=m-1; else if(xa[m]) i=m+1; else break; } if(a[m]==x) printf(找到了,数%d在数组的第%d位\n,x,m); else printf(查无此数 %d\n,x); } 3. #include stdio.h main() { char a[20],b[10]; int i=0,j=0; scanf(%s%s,a,b); while (a[i]!=\0) i=i+1; while (b[j]!=\0) { a[i++]=b[j]; j=j+1; } a[i]=\0; printf(%s\n,a); } 4 #include stdio.h #define N 4 #define M 4 main() { int i,j,k,a[N][M]; int max,maxj,flag; printf(请输入一个二维数组:\n); for(i=0;iN;i=i+1) for(j=0;jM;j=j+1) scanf(%d,a[i][j]); for(i=0;iN;i=i+1) { max=a[i][0]; maxj=0; for(j=0;jM;j=j+1) if(a[i][j]max) { max=a[i][j]; maxj=j; } flag=1; for(k=0;kN;k=k+1) if(maxa[k

文档评论(0)

1亿VIP精品文档

相关文档