实验4数组(答案解析)

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

实验四数组

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

专业班级:学号:姓名:实验时间:2016年4月27日实验地点:K4 指导教师:

(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

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

(六)实验任务6

(1)程序代码:#include

int main()

{

int a[10];

int i,k;

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

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

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

k=0;

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

if(a[k]

k=i;

for(i=k;i<9;i++)

a[i]=a[i+1];

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

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

printf("\n");

}

(2)运行结果:

(3)程序分析:该程序先将输入的10个数有小到大的顺序列出来,最后输出前9个数。

(七)实验任务7

(1)程序代码:#include

void main()

{ float x[1000], sum=0.0, ave, a;

int n=0, i;

printf ("Enter mark : \n");

scanf("%f", &a);

while (a>=0.0 && n<1000)

{ sum+=a;

x[n]= a ;

n++;

scanf("%f", &a);

}

ave= sum/n ;

printf ("Output : \n");

printf ("ave = %f\n", ave);

for (i=0; i

if ( x[i]

printf("%f\n", x[i]);

}

(2)运行结果:

(3)程序分析:输入若干个数,以负数为结束标志。使用while选择语句,求出输入的整数的平均值。

(八)实验任务8

(1)程序代码:#include

void main()

{

int i,j,a[6][6];

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

{

a[i][0]=1;

a[i][i]=1;

}

for(i=2;i<6;i++)

{

for(j=1;j<=i-1;j++)

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

}

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

{

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

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

printf("\n");

}

}

(2)运行结果:

(3)程序分析:这可以看做一个6*6的矩阵,通过使用数组级for循环语句将杨辉三角表示出来。

相关文档
最新文档