首页 > 代码库 > 作业10

作业10

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

#include<stdio.h>
#define N 5
int main()
{
    int a[5][3],i,j,sumA=0,sum1;
    double sum[N],n,ave=0;
     printf("input the score:\n");
     for(i=0;i<5;i++)
     { printf("输入第%d个学生的成绩:\n",i+1);
        for(j=0;j<3;j++)
        {
            scanf("%d",&a[i][j]);            
        }       
     }
    for(i=0;i<5;i++)
    {
        for(j=0;j<3;j++)
        {
        sumA=sumA+a[i][j];
        ave=(double)sumA/15;
        }
    }

    for(i=0;i<5;i++)
    {
    sum1=0;
    for(j=0;j<3;j++)
    {
        sum1=sum1+a[i][j];
        sum[i]=(double)sum1/3;
    }
   }
    printf ("语文  数学   英语  平均分\n");
    for(i=0;i<5;i++)
    {
        for(j=0;j<3;j++)
        {
        printf ("%3d   ",a[i][j]);
    }
    printf(" %.2f\n",sum[i]);
    }
    
    printf("五个学生总分%d,平均分%.2lf",sumA,ave) ;

    return 0;    
    }

技术分享

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

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

技术分享

实验总结

1.定义函数时要想清楚有没有返回值.

2.数字的初始值一定要定义.

3.字符的类型要想好.

4.尽量简化程序 ,比如相同的循环可以直接套在一个循环里.

5.二维数组的行和列要分清。

 

作业10