第十次作业

一.实验内容

1.

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

代码:

#include<stdio.h>
#include<stdlib.h>
#define N 5
int main()
{
    int score[5][3],i,j,sum1;
    double sum[N];
    for(i=0;i<5;i++)
    {
        printf("输入学生的成绩:
");
        for(j=0;j<3;j++)
        {
            scanf("%d",&score[i][j]);            
        }
    }
    system("cls");
    for(i=0;i<5;i++)
    {
        sum1=0;
        for(j=0;j<3;j++)
        {
            sum1=sum1+score[i][j];
        }
            sum[i]=(double)sum1/3;
    }
    printf ("    语文    数学    英语    平均分
");
    for(i=0;i<5;i++)
    {
        for(j=0;j<3;j++)
        {
            printf ("    %3d",score[i][j]);
        }
        printf("    %.2f
",sum[i]);
    }
    return 0;
}

运行结果:

2.

实验要求:求任意方阵每行、每列、两对角线上元素之和。

代码:

#include <stdio.h>
#define N 100
int main()
{
    int square[N][N],i,j,x,n=0,sum=0;
    printf("输入方阵的行数
");
    scanf("%d",&x);
    for(i=0;i<x;i++)
    {
        printf("
");
        for(j=0;j<x;j++)
        {
            n++;
            square[i][j]=n;
            printf("%4d",n);
        }
    }
    printf("
");
    for(i=0;i<x;i++)
    {
        sum=0;
        for(j=0;j<x;j++)
        {
            sum+=square[i][j];     
        }
        printf("第%d行的和为%d
",i+1,sum);
    }
    for(j=0;j<x;j++)
    {
        sum=0;
        for(i=0;i<x;i++)
        {
            sum+=square[i][j];
        }
        printf("第%d列的和为%d
",j+1,sum);
    }
    sum=0;
    for(i=0;i<x;i++)
    {
        for(j=0;j<x;j++)
        {
            if(i==j)
            {
                sum+=square[i][j];
            }  
        }
    }
    printf("斜向下的对角线的和为%d
",sum);
    sum=0;
    for(i=0;i<x;i++)
    {
        for(j=x;j>=0;j--)
        {
            if(i==j)
            {
                sum+=square[i][j];
            }  
        }
    }
    printf("斜向上的对角线的和为%d
",sum);
    return 0;
}

运行结果:

二:实验总结

1.字符的类型要想好

2.注意函数类型

3.注意运用代表行列的变量,每行相加,外循环表示行,内循环表示列,每列相加,外循环表示列,内循环表示行

原文地址:https://www.cnblogs.com/kbx1602/p/6160471.html