首页 > 代码库 > 实验十

实验十

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

#include<stdio.h>
int main()
{
    int i,j,f=0,m,n;
    double sum,ave,a[6][5]={60,99,70,0,0,67,89,90,0,0,78,70,89,0,0,98,74,87,0,0,56,94,46};
    
    for(i=0;i<5;i++)
    {    
        sum=0;
        for(j=0;j<3;j++)
        {
            sum=sum+a[i][j];
            a[i][3]=sum;
            ave=0;
            ave=(double)sum/3;
            a[i][4]=ave;
        }
    }
    printf("       ó???      êy?§       ó¢ó?      ×ü·?        ???ù·?");
    printf("\n");
    for(m=0;m<5;m++)
    {
        for(n=0;n<5;n++)
        {
            printf("     ");
            printf("%.2f ",a[m][n]);
            f++;
        }
        if(n==5)
        {
            printf("\n");
        }
    }
    for(i=0;i<5;i++)
    {    
        sum=0;
        for(j=0;j<5;j++)
        {
            sum=sum+a[j][i];
            ave=0;
            ave=(double)sum/5;
            a[i][6]=ave;
        }
    }
    printf("???ù·?");
    for(i=0;i<5;i++)
    {
        printf("%.2f      ",a[i][6]);
    }
    printf("\n");
    return 0;
}

技术分享

                         

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

#include<stdio.h>
#define N 5
int main()
{
    int i,j,n=1,sum,a[N][N]={0};
    for(i=0;i<N;i++)
    for(j=0;j<N;j++)
    {
        a[i][j]=n;
        n++;
        printf("%3d",a[i][j]);
    }
    printf("\n");
    for(j=0;j<N;j++)
    {
        sum=0;
        for(i=0;i<N;i++)
        {
            sum=sum+a[j][i];
        }
        printf("μú%dDDμ?oí?a%d\n",j+1,sum);
    }
    for(i=0;i<N;i++)
    {
        sum=0;
        for(j=0;j<N;j++)
        {
            sum=sum+a[j][i];
        }
        printf("μú%dáDμ?oí?a%d\n",i+1,sum);
    }
    sum=0;
    for(i=0;i<N;i++)
    {
        sum+=a[i][i];
    }
    printf("??????(×óé?μ?óò??)??oí?a%d\n",sum);
    sum=0;
    for(i=0;i<N;i++)
    {
        sum+=a[4-i][i];
    }
    printf("??????£¨×ó??μ?óòé?£???oí?a%d\n",sum);
    return 0;
}

技术分享

实验总结:

1、赋初值时注意放在循环里面还是外面

2、不要重复定义变量

实验十