C语言数组实验报告_第1页
C语言数组实验报告_第2页
C语言数组实验报告_第3页
C语言数组实验报告_第4页
C语言数组实验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.实验名: 数组一、 实验目的1、掌握数组定义的规则。2、掌握c语言数组的基本用法。二、实验内容(一)) 题目 11、编写程序,测试下列数组的定义方式是否正确(1) main() int n; scanf(“%d”,&n); int an; (2) main() const int n=10; int an; (3) #include #define m 10 main() int am; (4) main() int a2+2*4; (5) #include #define m 2 #define n 8 main() int am+n; 通过这一实验,可以说明什么问题?精品.2、输入和输出

2、信息描述及数据类型确定;(1)、输入数据序号输入数据描述 数据类型(1)n,anint(2)nancons tintint(3)am或a10int(4)a2+2*4int(5)am+nint3、程序调试错误序号错误信息(列出出错语句以及出错提示)是否解决解决方法(1-1)main.c|5|error: expected expression before % token|scanf(“%d”,&n);是将%d两边的符号改为西文字符的引号scanf(%d,&n);(1-2)main.c|6|warning: unused variable a -wunused-variable|int an;是

3、将前面的n的输入去掉,把n改为具体数字(5)main.c|6|warning: unused variable a -wunused-variable|int am+n;是加上个scanf(“%d”,&am+n);4、相关问题回答通过这一实验,可以说明什么问题?1、(2)(3)(4)(5)对,(1)错,(1)中an的数组定义的【】里的常量表达式不能是变量。2、一维数组定义的时候【】里的常量表达式包括常量和符号常量,但不能是变量。(二)) 题目 21、运行下面的c程序,根据运行结果,可以说明什么? main( ) int num5=1,2,3,4,5; inti i; for(i=0;i5;i+

4、) printf(“%d”,numi); 2、输入和输出信息描述及数据类型确定;(1)、输入数据序号输入数据描述 数据类型1num5,iint(2)输出数据序号输出数据描述 数据类型1numiint3、程序源代码(填写程序调试正确后的代码)#include int main( )精品. int num5=1,2,3,4,5; /*定义num5*/ int i; for(i=0;i5;i+) /*下标应该是0到4*/ printf(%d,numi); /*依次输出num0至num4*/ return 0;4、程序调试错误序号错误信息(列出出错语句以及出错提示)是否解决解决方法1格式不对是2mai

5、n.c|5|error: unknown type name inti|inti i;是改为 int i;3main.c|7|error: expected expression before % token|printf(“%d”,numi);是将引号改为西文字符4for(i=0;i5;i+)是去掉等号5、相关问题回答运行结果:12345根据运行结果,可以说明什么?说明:数组元素的下标从0开始,比定义的时候会小一个。(三)) 题目 31、操作符&用以求一个变量的地址,这在函数scanf中已经使用过了。现在要你设计一个程序,返回一个3 * 5 的二维数组各元素的地址,并由此说明二维数组中各元素

6、是按什么顺序存诸的。2、输入和输出信息描述及数据类型确定;(1)、输入数据序号输入数据描述 数据类型1a35,i.jint2adress整型指针变量(2)输出数据序号输出数据描述 数据类型1adressint3、程序源代码(填写程序调试正确后的代码)#include int main() int a35;int *adress; /定义并初始化adressint i,j;for(i=0;i3;i+) /每行循环 printf(n);for(j=0;j5;j+) /每列循环adress=&aij; /将adress赋值为整型指针变量printf(%d ,adress);精品. return 0;

7、4、测试与结果分析(1)、测试数据与结果源文件名可执行文件名测试序号测试用例选取原因测试输入数据测试输出结果是否正确结果分析1无无是无误(四)) 题目 4为一个起泡排序程序设计测试用例,并测试之。1、程序源代码(填写程序调试正确后的代码)#include int main( ) int a10; /定义一维数组a10 int i,j,k; printf(请输入10个数字:n); for(i=0;i=9;i+) scanf(%d,&ai); /依次输入数组的数字 printf(n); /换行 for(j=0;j9;j+) /进行9次循环,实现9趟比较 for(i=0;iai+1) /相邻两数比较

8、 k=ai; ai=ai+1; ai+1=k; /若后一个比前一个大,则交换位置 printf(排序后的数字为:n); for(i=0;i=9;i+) printf(%d ,ai); /依次输出排序后的数字 printf(n); return 0;2、输入和输出信息描述及数据类型确定;(1)、输入数据序号输入数据描述 数据类型1a10,i,j,kint(2)输出数据序号输出数据描述 数据类型精品.1aiint3、程序调试错误序号错误信息(列出出错语句以及出错提示)是否解决解决方法1输出结果间无空格是在最后一个printf(“%d”的d后面加空格4、测试与结果分析(1)、测试数据与结果源文件名可

9、执行文件名测试序号测试用例选取原因测试输入数据测试输出结果是否正确结果分析1测试用例1 12 13 14 15 56 67 78 89 801 12 13 14 15 67 78 80 89是无误(五)) 题目 51、1983年,在acm图林奖颁奖大会上,杰出的计算机科学家,unix 的鼻祖,c 语言的创始人之一,图林大奖得主,ken thompson 上台的第一句话是:“我是一个程序员,在我的1040表上,我自豪地写上了我的职业。作为一个程序员,我的工作就是写程序,今天我将向大家提供一个我曾经写过的最精练的程序。”这个程序如下:char s = t,0,n,;,n,n,/,*,n,/* (2

10、13 lines deleted)*/ 0 ;/* * the string is a * representation of the body * of this program from 0 * to the end */ main( ) int i; printf(“char ts=” ; 精品.for (i=0;si;i+) printf(“t%d,n”,si); printf(“%s”,s); 请上机运行这个程序,指出它的功能和运行结果。2、程序源代码(填写程序调试正确后的代码)#includechar s =t,0,n,;,n,n,/,*,n,/* (213 lines delet

11、ed)*/0;/* the string is a* representation of the body* of this program from 0* to the end*/int main( ) int i; printf(char ts=n ); for (i=0;si;i+) printf(t%d,n,si); printf(%s,s); return 0;3、程序调试错误序号错误信息(列出出错语句以及出错提示)是否解决解决方法1所有的引号和逗号格式不对是都改为西文字符2main.c|22|error: expected =, , ;, asm or _attribute_ be

12、fore token|是在main前加int3main.c|23|warning: missing terminating character enabled by default|printf(char ts= ;是改为printf(char ts=n );精品.4格式不完整是加上include,return 0;4、相关问题回答请上机运行这个程序,指出它的功能和运行结果。答:功能输出字符串的数值。5、测试与结果分析(1)、测试数据与结果源文件名可执行文件名测试序号测试用例选取原因测试输入数据测试输出结果是否正确结果分析1测试用例是无误(六)) 题目 61、题目内容描述在下面的 55 魔方矩

13、阵中,每一行、每一列、每一对角线上的元素之和都是相等的,试编写程序将这些魔方矩阵中的元素读到一个二维整型数组中, 然后, 检验其是否为魔方矩阵,并将其按如下格式显示到屏幕上。17 24 1 8 1523 5 7 14 16 4 6 13 20 2210 12 19 21 311 18 25 2 92、程序源代码(填写程序调试正确后的代码)#includemain()int i,j,sum1,sum2;int find1=0,find2=0,m=0; /定义变量 int a55;for(i=0;i5;i+) for(j=0;j5;j+) scanf(%d,&aij); /输入5*5个数字for(

14、i=0;i5;i+) for(j=0;j5;j+)精品. printf(%d,aij); /输出矩阵 printf(n);for(sum1=0,i=0;i=4;i+)/计算对角线元素和sum1+=aii;for(sum2=0,i=0,j=4;i=4;i+,j-)sum2+=+aij;/计算对角线元素和for(i=0;i=4;i+)for(j=0;j=4;j+)printf(%dt,aij);/打印魔方矩阵printf(n);if(sum1!=sum2)printf(此矩阵不为魔方矩阵n); /判断对角线和是否相等m=1;for(i=0;i=4;i+)for(j=0;j=4;j+)ai5+=ai

15、j;a5j+=aij;/判断各行列和是否相等if(m=0)for(i=0;i=4;i+)if(ai5!=a5i | ai5!=sum1)printf(此矩阵不为魔方矩阵n);break;if(i=5)printf(此矩阵为魔方矩阵n);3、测试与结果分析(1)、测试数据与结果源文件名可执行文件名测试序号测试用例选取原因测试输入数据测试输出结果是否正确结果分析1题目是无误精品.(七) 题目 71、题目内容描述餐饮服务质量调查打分在商业和科学研究中,人们经常需要对数据进行分析并将结果以直方图的形式显示出来。例如,一个公司的主管可能需要了解一年来公司的营业状况,比较一下各月份的销售收入状况, 如果仅

16、给出一大堆数据, 这显然太不直观了, 如果能将这些数据以条形图 (直方图)的形式表示,那么将会大大增加这些数据的直观性,也便于数据的分析与对比。下面以顾客对餐饮服务打分为例, 练习一下这方面的程序。 假设现在有40个学生被邀请来给自助餐厅的食品和服务质量打分,分数为从110的10个等级(1意味着最低分,10表示最高分),试统计调查结果,并用*打印出如下形式的统计结果直方图。grade count histogram1 5 *2 10 *3 7 *.2、输入和输出信息描述及数据类型确定;(1)、输入数据序号输入数据描述 数据类型1score40,i,j,grade,count11int(2)输出

17、数据序号输出数据描述 数据类型1grade,countgradechar3、程序源代码(填写程序调试正确后的代码)#include int main()int score40,i,j,grade;int count11=0; /定义并初始化数组count【11】for(i=0;i40;i+) printf(please input score%d:,i+1);scanf(%d,&scorei); /输入每个分数switch(scorei) /统计每个分数的个数 case 1:count1+; break; /评分为1时,数组中count1加一 case 2:count2+; break; /评

18、分为2时,数组中count2加二 case 3:count3+; break;精品. case 4:count4+; break; case 5:count5+; break; case 6:count6+; break; case 7:count7+; break; case 8:count8+; break; case 9:count9+; break; case 10:count10+; break; default:printf(input error!n); /其余情况printf(gradetcountthistogramn); /输出表头for(grade=1;grade=10;

19、grade+) /统计每个分数的个数printf(%dt%dt,grade,countgrade); /输出分数和每个分数的个数for(j=0;jcountgrade;j+)printf(%c,*); /根据评分的个数输出*数printf(n);return 0;4、测试与结果分析(1)、测试数据与结果测试序号测试用例选取原因测试输入数据测试输出结果是否正确结果分析1测试用例8个2,9个3,5个4,13个6,3个7,23,76如下图是无误2测试用例2个1,4个2,3个3,1个4,5个5,6个6,5个7,2个8,6个9,3个10,78,0,22如下图是无误 (八) 题目 81、题目内容描述由计算机随机生成一个各位相异的4位数字,由人来猜,每次提示:xaxb精品.a前面的数字表示有几个数字猜对位置也对了b前面的数字表示有几个数字猜对但位置不对提示:用数组a存计算机随机生成的4位数,用数组b存人猜的4位数,对a和b的相同位置的元素进行比较,得到a前面的数字,对a和b的不同位置的元素进行比较,得到b前面的数字。2、输入和输出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论