第十次作业

 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("\t语文\t数学\t英语\t总和\t平均\n");
    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("\t");
        for(j=0;j<5;j++)
        {
            printf("%.2f\t",grade[i][j]);
        }
        printf("\n");
    }
    for(i=0;i<3;i++)
    {
        sum=0;
        for(j=0;j<5;j++)
        {
            sum=sum+grade[j][i];
        }
        average[i]=sum/5;
    }
    printf("平均\t");
    for(i=0;i<3;i++)
    {
        printf("%.2f\t",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("\n");
    }
    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\n第二行是%d\n第一列是%d\n第二列是%d\n左对角线是%d\n右对角线是%d\n",h1,h2,l1,l2,x1,x2);
    return 0;
}

实验总结:

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

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

 避免越界现象

 

知识总结:

\b为退格 1字符长度 \t 4个字符

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

 

posted @ 2016-12-11 23:01  *翾*  阅读(123)  评论(0编辑  收藏  举报