第九次作业
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]); } }