C语言


[例6.1] 将输入的5个数逆序输出。
main()
{ int a[5],i;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=4;i>=0;i--)
printf("%3d",a[i]);
printf("\n");
}

[例6.2] 求输入的10个数据之和。
main()
{ int a[10],sum=0,i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
sum=sum+a[i];
printf("Sum=%d\n",sum);
}

[例6.3] 找出输入的5个数据中的最大值及所在位置。
main()
{ int a[10],max,p,i;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
max=a[0];p=0; /* 假定第一个数据最大 */
for(i=1;i<5;i++) /* 与剩余的数据进行比较 */
if(max<a[i]) /* 若发现它比数组中的某元素还小,即它不是最大的 */
{ max=a[i]; /* 让max取该元素的值 */
p=i; /* 记录该元素的位置 */
}
printf("Max=%d,Position=%d\n",max,p);
}

[例6.4] 输出Fibonacci数列的前20项,每行5个数据。
main()
{ int fab[20]={1,1},n;
for(n=2;n<20;n++)
fab[n]=fab[n-1]+fab[n-2];
for(n=0;n<20;n++)
{ if(n%5==0)printf("\n");
printf("%12d",fab[n]);
}
}

[例6.5] 将下列矩阵存入二维数组中,并输出。
main()
{ int i,j,a[2][3];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<2;i++)
{ for(j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("\n");
}
}

[例6.6] 找出一个3×4矩阵中的最大元素及所在位置。
main()
{ int a[3][4],i,j,max,row,col;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
max=a[0][0];
for(i=0;i<3;i++)
{ for(j=0;j<4;j++)
if(max<a[i][j])
{ max= a[i][j]; row=i; col=j;}
}
printf("Max=%d,Row=%d,Colum=%d\n",max,row,col);
}

