zoukankan      html  css  js  c++  java
  • 第十次作业

    一、实验内容      

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

    #include<stdio.h>
    int sum(double a[5][5],int m);
    double average(double a[5][5],int m);
    double average1(double a[5][5],int m);
    int main()
    {
    	int i,j,n;
    	double a[5][5]={{68,69,61},{78,75,98},{60,79,97}};
    	for(i=0;i<=5;i++)
    	{
    		a[i][3]=sum(a,i);
    		a[i][4]=average(a,i);
    	}
    	printf("	语文	数学	英语	总分	平均分
    ");
    	for(i=0;i<=5;i++)
    	{
    		for(j=0;j<5;j++)
    		{
    			printf("	%.2lf",a[i][j]);
    		}
    		printf("
    ");
    	}
    	printf("平均分
    ");
    	for(i=0;i<3;i++)
    	{
    		printf("	%.2lf",average1(a,i));
    	}
    	return 0;
    }
    int sum(double a[5][5],int m)
    {
    	int i,sum=0;
    	for(i=0;i<3;i++)
    	{
    		sum+=a[m][i];
    	}
    	return sum;
    }
    double average(double a[5][5],int m)
    {
    	return sum(a,m)/3.0;
    }
    double average1(double a[5][5],int m)
    {
    	int n,sum=0;
        for(n=0;n<5;n++)
    	{
    		sum+=a[n][m];
    	}
    	return sum/5.0;
    }
    

      

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

    #include<stdio.h>
    #include<stdlib.h>
    #define N 10
    int main()
    {
        int i,j,m=0,n,sum;
    	double a[N][N];
    	printf("输入方阵行数:
    ");
    	scanf("%d",&n);
    	for(i=0;i<n;i++)//每行求和
    	{
    		for(j=0;j<n;j++)
    		{
    			m++;
    			a[i][j]=m;
    			printf("%3d",m);
    		}
    		printf("
    ");
    	}
    	for(i=0;i<n;i++)
    	{
    		sum=0;
    		for(j=0;j<n;j++)
    		{
    			sum+=a[i][j];
    		}
    		printf("第%d行元素的和为%d
    ",i+1,sum);
    	}
    	for(i=0;i<n;i++)//每列求和
    	{
    		sum=0;
    		for(j=0;j<n;j++)
    		{
    			sum+=a[j][i];
    		}
    		printf("第%d列的元素合为%d:
    ",i+1,sum);
    	}
    	sum=0;
    	for(i=0;i<n;i++)
    	{
    		sum+=a[i][j];
    		j--;
    	}
    	printf("对角线上的元素和为%d
    ",sum);
    	return 0;
    }
    

      

       二、实验总结

    1.二维数组声明函数形参,可以省略第一维数组的长度,不能省略第二维数组的长度。

    2.表格的输出使用 ,表示水平制表位。

    3.向函数传递数组,数组作为函数的参数,不能在[]中给出数组的大小,必须用另一个参数来传入数组大小。

    4.第一道题思路输入五位同学的三科成绩,分别应用循环,循环嵌套对三科成绩汇总,每位同学三科求平均,每科五位同学求平均,分别输出,优化代码;第二道题方阵问题,首先二维数组表示的方阵长宽相等,输入方阵行数,那么整个方阵就已得出,输入数字分别每行求和,每列求和,对角线求和,输出,注意循环语句,大括号的使用。

  • 相关阅读:
    112. Path Sum
    66. Plus One
    258. Add Digits
    268. Missing Number
    275. H-Index II
    274. H-Index
    264. Ugly Number II
    263. Ugly Number
    199. Binary Tree Right Side View
    222. Count Complete Tree Nodes
  • 原文地址:https://www.cnblogs.com/mlj527/p/6155704.html
Copyright © 2011-2022 走看看