第十次作业

 1.有5名学生,每名学生有语文、数学和外语3门课的考试成绩。编程统计各学生的总分和平均分以及所有学生各科的平均分。要求成绩在程序中初始化,结果以表格的形式输出。

#include<stdio.h>
int main()
{
    double grade[5][5]={{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15}},average[3]; 
    int i,j,sum;
    printf("	语文	数学	英语	总和	平均
");
    for(i=0;i<5;i++)
    {
        sum=0;
        for(j=0;j<5;j++)
        {
            sum=sum+grade[i][j];
        }
        grade[i][3]=sum;
        grade[i][4]=grade[i][3]/3;
    }
    for(i=0;i<5;i++)
    {
        printf("	");
        for(j=0;j<5;j++)
        {
            printf("%.2f	",grade[i][j]);
        }
        printf("
");
    }
    for(i=0;i<3;i++)
    {
        sum=0;
        for(j=0;j<5;j++)
        {
            sum=sum+grade[j][i];
        }
        average[i]=sum/5;
    }
    printf("平均	");
    for(i=0;i<3;i++)
    {
        printf("%.2f	",average[i]);
    }
    return 0;
}

2.求任意方阵每行、每列、两对角线上元素之和。

#include<stdio.h>
# define N 2
int main()
{
    int num[N][N]={{5,4},{1,2}};
    int a,b,h1=0,h2=0,l1=0,l2=0,x1=0,x2=0;
    for(a=0;a<N;a++)
    {
        for(b=0;b<N;b++)
        {
            printf("%d ",num[a][b]);
        }
        printf("
");
    }
    for(a=0;a<N;a++)
    {
        h1+=num[0][a];
        h2+=num[1][a];
        l1+=num[a][0];
        l2+=num[a][1];
        x1+=num[a][a];
        x2+=num[a][N-1-a];
    }
        printf("第一行是%d
第二行是%d
第一列是%d
第二列是%d
左对角线是%d
右对角线是%d
",h1,h2,l1,l2,x1,x2);
    return 0;
}

实验总结:

 二维数组,要考虑更多的因素

 要知道循环的时候,对应的关系

 避免越界现象

知识总结:

为退格 1字符长度 4个字符

.计算每个变量的时候都要重新赋值。

原文地址:https://www.cnblogs.com/xuan0826/p/6160960.html