第十次作业

Posted 芒果酸奶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十次作业相关的知识,希望对你有一定的参考价值。

1.题目:

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

代码:

#include <stdio.h>
#define M 5
#define N 3
void Score(int score[M][N]);
void aveforstudent(int score[M][N],double average1[]);
void aveforsubject(int score[M][N],double average2[]);
int main()
{
    int score[M][N],i,j,sum1;
    double average1[M],average2[N];
    Score(score);
    aveforstudent(score,average1);
    aveforsubject(score,average2);
    printf("\\t语文\\t数学\\t英语\\t总分\\t平均分\\n");
    for(i=0;i<M;i++)
    {
        printf("学生%d\\t",i+1);
        sum1=0;
        for(j=0;j<N;j++)
        {
            printf("%d\\t",score[i][j]);
            sum1=sum1+score[i][j];
        }
        printf("%d\\t",sum1);0
        printf("%.2f",average1[i]);
        printf("\\n");
    }
    printf("平均分\\t");
    for(j=0;j<N;j++)
    {
        printf("%.2f\\t",average2[j]);
    }
    return 0;
}

void aveforstudent(int score[M][N],double average1[])
{
    int i,j,sum;
    for(i=0;i<M;i++)
    {
        sum=0;
        for(j=0;j<N;j++)
        {
            sum=sum+score[i][j];
        }
        average1[i]=(double)sum/N;
    }
}
void aveforsubject(int score[M][N],double average2[])
{
int i,j,sum;
    for(j=0;j<N;j++)
    {
        sum=0;
        for(i=0;i<M;i++)
        {
            sum=sum+score[i][j];
        }
        average2[j]=(double)sum/M;
    }
}
void Score(int score[M][N])
{
    int i,j;
    for(i=0;i<M;i++)
    {
        printf("请输入第%d个学生成绩\\n",i+1);
        for(j=0;j<N;j++)
        {
            scanf("%d",&score[i][j]);
        }
        
    }
}

  运行结果:

2.

题目:

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

代码:

#include<stdio.h>
#define M 3
#define N 3
int main()
{
    int num[M][N],i,j,a,b,sum1,sum2,sum3,sum4;
    printf("请输入任意九个数,组成方阵\\n");
    for(i=0;i<M;i++)
    {
        for(j=0;j<N;j++)
        {
            scanf("%d",&num[i][j]);
        }
    }
    printf("方阵为:\\n");
    for(i=0;i<M;i++)
    {
        for(j=0;j<N;j++)
        {
            if(j%3==0)
            {
                printf("\\n");
            }
            printf("%3d",num[i][j]);
        }
    }
    printf("\\n");
    for(a=0;a<M;a++)
    {
        sum1=0;
        sum2=0;
        for(b=0;b<N;b++)
        {
            sum1=sum1+num[a][b];
            sum2=sum2+num[b][a];
        }
        printf("第%d行的元素之和为%d\\n",a+1,sum1); 
        printf("第%d列的元素之和为%d\\n",a+1,sum2);
    }
    sum3=num[0][0]+num[1][1]+num[2][2];
    sum4=num[0][2]+num[1][1]+num[2][0];
    printf("从左上到右下的对角线元素之和为%d\\n从左下到右上的对角线元素之和为%d",sum3,sum4);
    return 0;
}

  运行结果:

实验总结:

1.编写时要清醒,方便错误时查看,要仔细对应函数

2.理解题意,先从特殊值考虑有时候也能考虑出来结果

3.注意函数类型

4.分析理解题意

 

以上是关于第十次作业的主要内容,如果未能解决你的问题,请参考以下文章

第十次作业

第十次作业

第十次作业:期末大作业

第十次作业

201621123042《java程序设计》第十次作业

耿丹16-1第十次作业