实验4 数组答案

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四数组

实验课程名: 高级语言程序设计4 数组

专业班级:学号:姓名:

实验时间:2016年4月27日实验地点:K4 指导教师:

一、实验目的及要求

1.掌握一维数组与二维数组的定义、赋值与输入输出的方法;

2.掌握字符数组与字符串函数的使用;

3.掌握与数组有关的算法(特别就是排序算法)。

二、实验任务:

(一)(1)程序代码:#include

#define N 10

void main( )

{

int i,a[N];

float av=0;

for(i=0;i

scanf("%d",&a[i]);

for(i=0;i

{ printf("%d",a[i]);

printf(" ");

if(i%3==0)

printf("\n");

}

for(i=0;i!=N;i++)

av+=a[i];

printf("av=%f\n",av/10);

}

(2)运行结果:

(3)结果分析:当i能被3整除时,就换一次行。

(二)实验任务2

(1)程序代码:#include

void main( )

{

int i,a[5],sum=0;

for(i=0;i<=4;i++)

scanf("%d",&a[i]);

for(i=0;i<=4;i++)

sum+=a[i];

printf("sum=%d\n",sum);

}

(2)程序运行结果:

(3)程序分析:使用for循环依次输入5个数,并使5个数相加。

(三)实验任务3

(1)程序代码:#include

int main( )

{ int i,j,row=0,colum=0,max;

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);

return 0;

}

(2)程序运行结果:

(3)程序分析:分别将这12个元素同max相比较,当某个元素的值大于max时,则将此元素的值赋值给max,最后输出max及最大值的下标。

(四)实验任务 4

(1)程序代码:#include

void main( )

{ int i, x, a[10]={1,2,3,4,5,6,7,8,9,10};

scanf("%d",&x); /*输入x变量的值 */

for ( i=0; i<10; i++ )

printf("%4d",a[i]);

printf("\n");

for(i=0;i<10;i++) /* 循环查找与x相等的元素 */

if ( x==a[i] )

printf("%d\n",i); /* 输出查找结论 ,输出下标值 */

else printf("Not found %d\n",x);

}

(2)运行结果:

(3)程序分析:通过for循环查找与x相等地元素。

(五)实验任务 5

(1)程序代码:# include

#define N 11

int main()

{

int i,j,a[N],t,n=10,c,k;

printf("输入10个整数:");

for(i=0;i

scanf("%d",&a[i]); //输入10个整数//

printf("\n");

for(j=0;j<9;j++)

for(i=0;i<9-j;i++)

if(a[i]

{t=a[i];a[i]=a[i+1];a[i+1]=t;} //比较10个数的大小// printf("由大到小排序为:\n");

for(i=0;i<10;i++)

printf("%d ",a[i]); //从大到小依次输出者10个数//

printf("\n");

printf("请输入您想插入的一个整数:\n");

scanf("%d",&c);

n=n+1;

for(i=0;i

{

if(c>=a[i])

{

for(j=n-1;j>i;j--)

{

a[j]=a[j-1];

}

a[i]=c;

printf("插入后的数组为:\n");

for(k=0;k

{printf("%d ",a[k]);

}

printf("\n");

return 0;}}

}

(2)运行结果:

(3)程序分析:使用起泡算法将这10个数由大到小的顺序排列出来,后使用for循环语句把插入元素后的数组由大到小的顺序排列。

相关文档
最新文档