实验四 数组.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验四 数组

实验四 数组 实验课程名:高级语言程序设计(C) 专业班级: 学号: 姓名: 实验时间: 实验地点: 指导教师: 一、实验目的和要求 掌握一维数组和二维数组的定义、赋值和输入输出的方法; 掌握字符数组和字符串函数的使用; 掌握与数组有关的算法(特别是排序算法)。 二、实验内容 1、任务名称: 调试下列程序,使之具有如下功能:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。写出调试过程。#include stdio.h #define N 10 void main() { int i,a[N]; double av=0; for(i=0;iN;i++) scanf(%d,a[i]); for(i=0;iN;i++) { printf(%d,a[i]); if((i+1)%3==0) printf(\n);} for(i=0;i!=N;i++) av+=a[i]; av=av/N; printf(\nav=%f\n,av); } 运行结果:(需要截图) 运行结果分析:求平均数首先应该要求和,题目中求和没有给变量赋初值,这样得到的结果是不可预料的,求和后应除以总数,但不能用语句av=sum/10;因为这样得到的结果是去掉小数点后的结果,不准确,应用语句av=sum/10.0;。 2、任务名称: 下面程序是输入5个数据,然后求它们的和并输出结果。#include stdio.h void main() {int i,a[5],sum=0; scanf(%d,a[5]); for (i=0;i=5;i++) sum+=a[5]; printf(sum=%d\n,sum); } 运行结果:(需要截图) 运行结果分析:语句scanf(%d,%d,%d,%d,%d, a );错误,因为数组元素的输入和输出只能逐个元素操作,而不能以数组名作整体操作.有一个3行4列的距阵,现要求编程求出其中最大的那个元素的值,以及它所在的行号与列号。程序的初始说明和输出语句如下所示,请补充完成该程序。 #include stdio.h void main() {int i,j,row=0,colum=0,max; static int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}}; max=a[0][0]; for(i=0;i=2;i++) for(j=0;j=3;j++) {if(a[i][j]max) max=a[i][j]; row=i; colum=j; } printf(max=%d,row=%d,colum=%d\n,max,row,colum); } 运行结果:(需要截图) 运行结果分析:①二维数组的定义和初始化;使用二重循环对二维数组元素的访问;求最值时相关变量初值的设定。数组中已存互不相同的10个整数,从键盘输入一个整数,输出与该值相同的数组元素下标。#include stdio.h void main() { int i,x,a[10]={1,2,3,4,5,6,7,8,9,10}; printf(please enter a number:); scanf(%d,x); for (i=0;i10;i++ ) printf(%4d,a[i]); printf(\n); for(i=0;i10;i++) if(x==a[i]) {printf(i=%d\n,i+1);break;} if(i=10) printf(Not found %d\n,x); } 运行结果:(需要截图) 运行结果分析:根据循环是正常结束还是提前结束来判断是否找到x 5、任务名称: 编写程序,任意输入10个整数的数列,先将整数按照从大到小的顺序进行排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。#include stdio.h #define N 11 void main() { int i,j,t,x,t1,t2,a[N]; printf(Please input 10 numbers:\n); for (i=0; iN-1; i++) scanf(%d,a[i]); for(j=0;j9;j++) for(i=0;i9-j;i++) if(a[i]a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t

文档评论(0)

rovend + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档