第九次作业
1、定义一个含有8个存储单元的实行数组,从键盘上接收数,然后逆序输出
#include <stdio.h>
main()
{
int a[8],i,j;
for( i=0;i<8;i++ )
{
printf( "请输入第 %d数字",i+1 );
scanf( "%d",&a[i] );
}
for( j=7;j>=0;j-- )
{
printf( "第%d个数字是 %d\n",j,a[j] );
}
}
2、使用一位数组,从键盘上接收6个数,找出最大的那个元素并记录下它的下标
#include <stdio.h>
main()
{
int a[6],i,j,max,min,maxidx=0,minidx=0;
for( i=0;i<6;i++ )
{
printf( "请输入第%d的数:",i+1 );
scanf( "%d",&a[i] );
}
max=a[0];
min=a[0];
for( j=0;j<6;j++ )
{
if ( max<a[j] )
{
max=a[j];
maxidx=j;
}
if (min>a[j])
{
min=a[j];
minidx=j;
}
}
printf( "最大的数为%d,下标为%d,最小的数为%d,下标为%d \n",max,maxidx,min,minidx );
}
3、求Fibonacci数列的前10项的和
#include <stdio.h>
main()
{
int i,a[10]={1,1},sum=0;
for ( i=2;i<10;i++ )
{
a[i]=a[i-1]+a[i-2];
sum+=a[i];
}
sum=sum+a[0]+a[1];
printf ( "前十项的和为%d\n",sum );
}
4、定义一个二维数组,从键盘上接收变量,并以矩阵的形式输出
#include <stdio.h>
main()
{
int i,j,a[3][4];
printf ( "请输入你的 12个数:\n" );
for ( i=0;i<3;i++ )
{
for ( j=0;j<4;j++ )
{
scanf ( "%d",&a[i][j] );
}
}
printf ( "矩阵是:\n" );
for ( i=0;i<3;i++ )
{
for ( j=0;j<4;j++ )
{
printf ( "%d\t",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]);
}
}