第九次作业

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]);
    }
}
复制代码

posted @ 2021-11-23 09:18  计科2107孟展冰  阅读(4)  评论(0编辑  收藏  举报