《C语言程序设计基础实验报告6.docx》由会员分享,可在线阅读,更多相关《C语言程序设计基础实验报告6.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言程序设计基础实验报告6 实验6 数组 一、实验目的 1、掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2、掌握字符数组和字符串函数的使用; 3、掌握与数组有关的算法(特别是排序算法)。 二、实验内容和步骤 编程序并上机调试运行。 1、以下给定程序MODI1.C的功能是: 求一维数组a中所有元素的平均值, 结果保留两位小数。例如,当一维数组a中的元素为:10, 4, 2, 7, 3, 12, 5, 34, 5, 9时,程序的输出应为:The aver is: 9.10 程序中有两处错误,错误都在提示行:/*found*/的下面一行。请改正程序中的错误, 使它能得出正确的结果。 注意
2、:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的结构! #include #include void main() int a10=10,4,2,7,3,12,5,34,5,9, i; /*found*/ /*found*/ s = a0; for ( i=1; i aij) /*found*/min = aij; printf(The min is: %dn, min); 3、在考生目录下,给定程序FILL1.C 的功能是:在第一个循环中给a 数组的前10个数组元素依次赋 1、2、3、4、5、6、7、8、9、10;在第二个循环中使a 数组前10个元素中的值对称折叠,变成1、
3、2、3、4、5、5、4、3、2、1;在最后一个循环中输出对称折叠以后的a 数组的前10个元素。 程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include void main( ) int i, a10; clrscr(); for( i=1; i=10; i+) /*found*/ scanf(%d,&ai-1); for(i=0;i5;i+) /*found*/ a9-i=ai; for(i=0;i10;i+) printf(%5d,ai); printf(n); 4、 以下给定程序FILL1.C 的功
4、能是:输入一个数x ,查找x 在数组a 中最后一次出现的位置。例如:如果a 数组中的元素为:1, 5, 2, 5, 6, 8, 7, 4, 3, 0,当x=5时,程序的输出结果为:5 is No.3 。当x=10时,该数不在数组中,程序的输出结果应为:10 not found !。 程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include void main( ) int a10 = 1, 5, 2, 5, 6, 8, 7, 4, 3, 0 ; int i, k, x, f = 0; scanf(%d,
5、&x); for (i=0; i10; i+) if (ai = x ) f=1; /*found*/ k=i; /*found*/ if (f=1) printf(%d is No. %dn, x, k); else printf( %d not found !n, x); 5、有一个已经从小到大排好序的整数数组:a30=6,9,12,15,19,23,45,67,89,98,现输入一个整数 x ,要求按 原来的升序规律将它插入到数组中。#includevoid main() int a30=6,9,12,15,19,23,45,67,89,98,num,i,j,tmp1,tmp2; sca
6、nf(%d,&num);for(i=0;i10;i+) if(num=ai) tmp1=ai;ai=num;for(j=i+1;j11;j+)tmp2=aj;aj=tmp1;tmp1=tmp2;break; else a10=num; for(i=0;i11;i+)printf(%d,ai);printf(n); 6、 以下程序PROG1.C 的功能是:将字符串2连接到字符串1的后面并输出。例如,当字符串1为This is a ,字符串2为c program,则输出:This is a c program 。 注意: 部分源程序存在文件PROG1.C 中。请在/*begin*/ 与 /*end
7、*/ 之间填入你编写的若干语句。请勿改动其它位置的任何内容。 #include void main() char str180=This Is a , str280=c Program; /*begin*/ strcat(str1,str2); /*end*/ printf(Result is: %sn,str1); 7、以下给定程序FILL1.C的功能是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字符串转换成一个十进制数。 例如:从键盘上输入字符串2345, 则程序运行的结果应当为:n=2345。 程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。 注意:不要
8、随意改动程序,不得增行或删行,也不得更改程序的结构! #include stdio.h void main( ) char s10; int i; long int n=0; clrscr(); /*found*/ scanf(%s,s); /*found*/ for(i=0; si!=0; i+) n = n*10 + si- 0; printf(n=%ldn,n); 8、打印出以下的杨辉三角形(要求打印10行) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 #include void main() int y111
9、1,i,j; y11=y21=y22=1; for(i=3;i=10;i+) yi1=1; yii=1; for(i=3;i=10;i+) for (j=2;ji;j+) yij=yi-1j-1+yi-1j; for (i=1;i=10;i+) for (j=1;j=i;j+) printf(%5d,yij); printf(n); 9、编程查找一个二维字符数组里为“a”的元素的个数。假定是3行5列的字符数组。#include #include void main() char a35=abcef,daryd,agdys; int i,j,k; k=0; for(i=0;i3;i+) for(j=0;j5;j+) if(aij=a) k+; printf(%dn,k);