第十次作业

1.定义一个含有8个存储单元的实型数组,从键盘上接收数,然后逆序输出

复制代码
#include<stdio.h>
main()
{
    int a[8],i;
    for(i=0;i<8;i++)
    {
        scanf("%d",&a[i]);
    }
    printf("逆序输出后\n");
    for(i=7;i>=0;i--)
    {
        printf("%d\n",a[i]);
    }
}
复制代码

 2.使用一维数组,从键盘上接受6个数,找出最大的那个元素并记录下来它的下标。

复制代码
#include<stdio.h>
main()
{
    int a[6],i,max,b=0;
    for(i=0;i<6;i++)
    {
        scanf("%d",&a[i]);
    }
    max=a[0];
    for(i=1;i<6;i++)
        if(max<a[i])
        {
            max=a[i];
            b=i;
        }

    printf("最大的数是%d它对应的下角标是%d",max,b);
}
复制代码

 

3.求Fibonacci数列的前n项和。

复制代码
#include<stdio.h>
main()
{
    int a[10],i,sum=0;
    a[0]=1;
    a[1]=1;
    for(i=2;i<10;i++)
    {
        a[i]=a[i-1]+a[i-2];
    }
    for(i=0;i<10;i++)
    {
        sum+=a[i];
    }
    printf("Fibonacci数列前10项和为\n%d\n",sum);
}
复制代码

 

 4.编写程序,定义一个二维数组,从键盘上接收变量,并以矩阵的形式输出。

复制代码
#include<stdio.h>
main()
{
    int a[4][4];
    int i,j;
    printf("请输入16个数字:\n");
    for(i=0;i<4;i++)
        for(j=0;j<4;j++)
            scanf("%d",&a[i][j]);
        for(i=0;i<4;i++)
        {
            for(j=0;j<4;j++)
            {
                printf("%6d",a[i][j]);
            }
            printf("\n");
        }
}
复制代码

5.求二维数组m对角线元素之和。

复制代码
#include<stdio.h>
main()
{
    int a[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+=a[i][j];
        }
    }
    printf("对角线之和为%d\n",sum);
}
复制代码

 

 6.编写程序,通过一维数组接受5门课程的成绩,并输出平均分数。

复制代码
#include<stdio.h>
main()
{
    float score[5],ave=0;
    int i;
    printf("输入5门课程的成绩:\n");
    for(i=1;i<=5;i++)
    {
        scanf("%f",&score[i]);
        ave+=score[i];
    }
    ave/=5.0;
    printf("平均分为%f",ave);
}
复制代码

 

7.编写程序,实现一维数组中前,后元素的对调。

复制代码
#include<stdio.h>
main()
{
    int m[7]={12,5,78,64,55,34,56};
    int i,j,t;
    printf("原有数据:\n");
    for(i=0;i<=6;i++)
        printf("%3d",m[i]);
    printf("\n");
    for(i=0,j=6;i<=j;i++,j--)
    {
        t=m[i];m[i]=m[j];m[j]=t;
    }
    printf("调换后顺序:\n");
    for(i=0;i<=6;i++)
        printf("%3d",m[i]);
    printf("\n");
}
复制代码

posted @ 2021-11-29 20:40  张继炫  阅读(5)  评论(0编辑  收藏  举报