1.定义一个8个储存单元的实型数组,从键盘上接收数,然后逆序输出。
#include<stdio.h>
main(){
int i;
double a[8];
printf("请输入8个数\n");
for(i=0;i<8;i++)
scanf("%lf",&a[i]);
for(i=7;i>=0;i--)
printf("%.2f",a[i]);
}
![]()
2.使用一组数组,从键盘上接收6个数,找出最大的,并记录它的下标。
#include<stdio.h>
main(){
int a[6],i,max,maxidx;
printf("请输入6个数\n");
for(i=0;i<6;i++){
scanf("%d",&a[i]);
if(a[i]>max){
max=a[i];
maxidx=i;
}
}printf("最大的为%d,下标为%d",max,maxidx);
![]()
3.求fibonacci数列的前10项和。
#include<stdio.h>
main(){
int a[10],i,sum;
a[0]=1;
a[1]=1;
sum=a[0]+a[1];
for(i=2;i<10;i++){
a[i]=a[i-1]+a[i-2];
sum+=a[i];
}
printf("和为%d",sum);
}
![]()
4.定义一个二维数组,从键盘上接收变量,并以矩阵的形式输出。
#include<stdio.h>
main(){
int a[2][3],i,j;
printf("请输入6个数\n");
for(i=0;i<=1;i++){
for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);
}for(i=0;i<=1;i++){
for(j=0;j<=2;j++)
printf("%-3d",a[i][j]);
printf("\n");
}
}
![]()
5、编写程序,求二维数组m对角线之和
#include <stdio.h>
main()
{
int m[5][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};
int i,j,sum=0;
for ( i=0;i<5;i++ )
{
for ( j=0;j<5;j++ )
{
if ( i==j||i+j==4 )
{
sum+=m[i][j];
}
}
}
printf ( "对角线的和:%d\n",sum );
![]()
6、编写程序,通过一维数组接收5门课程的成绩,并输出平均分数
#include <stdio.h>
main()
{
int a[5];
int i,sum=0;
double avg;
for ( i=0;i<5;i++ )
{
printf ( "please enter the %d number for score:",i+1 );
scanf ( "%d",&a[i] );
sum+=a[i];
}
avg=sum/5.0;
printf ( "the average of score is %f\n",avg );
}
![]()
7、编写程序,实现一位数组中前、后元素的对调
#include <stdio.h>
main()
{
int a[5];
int i,j,b;
for ( i=0;i<5;i++ )
{
printf ( "please enter the %d number:",i+1 );
scanf ( "%d",&a[i] );
}
for ( i=0;i<4;i++ )
{
for ( j=0;j<4-i;j++ )
{
if ( a[j]>a[j+1] )
{
b=a[j];
a[j]=a[j+1];
a[j+1]=b;
}
}
}
printf( "the last\n" );
for ( i=0;i<5;i++ )
{
printf("%d\n",a[i]);
}
}
![]()