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

     

    一、实验内容

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

    1.1 代码:

    #include <stdio.h>
    #define N 3
    #define M 5
    double average(int score[M][N]);
    int main ( )
    {
    	int score[M][N],sum,sum1[M],sum2,i,j;
    	double average1[M],average2[N];
    	for(i=0;i<M;i++)
    	{
    		printf("请输入第%d名学生的成绩
    ",i+1);
    		for(j=0;j<N;j++)
    		{
    			scanf("%d",&score[i][j]);
    		}
    	}
    	for(i=0;i<M;i++)
    		{
    			sum=0;
    			for(j=0;j<N;j++)
    			{
    				sum+=score[i][j];
    			}
    			sum1[i]=sum; 
    			average1[i]=(double)sum/N;
    		} 
    	for(i=0;i<N;i++)
    	{
    		sum2=0;
    		for(j=0;j<M;j++)
    		{	
    			sum2+=score[j][i];
    		}
    		average2[i]=(double)sum2/M;
    	} 
    	printf("语文	数学	英语	总分	平均分
    ");
    	for(i=0;i<M;i++)
    	{
    		for(j=0;j<N;j++)
    		{
    			printf("%d	",score[i][j]);
    		}
    		printf(" %d	%.2f
    ",sum1[i],average1[i]);
    		printf("
    ");
    	}
    	for(i=0;i<N;i++)
    	{
    		printf("平均分分别为%.2f
    ",average2[i]);
    	}
    	return 0;
    }
    

    1.2 程序运行结果:

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

     2.1 代码:

    #include <stdio.h>
    #define M 5
    int main()
    {
    	int a,i,j,score[M][M]={0},sum1,sum2,sum3,sum4;
    	printf("请输入行数(列数)
    ");
    	scanf("%d",&a);
    	printf("请输入数字
    "); 
    	for(i=0;i<a;i++)
    	{
    		for(j=0;j<a;j++)
    		{
    			scanf("%d",&score[i][j]);
    			printf("%d",score[i][j]);
    		}
    		printf("
    ");
    	}
    	for(i=0;i<a;i++)
    	{
    		sum1=0;
    		for(j=0;j<a;j++)
    		{
    			sum1+=score[i][j];
    		}
    		printf("第%d行的和为%d
    ",i+1,sum1);
    	}
    	for(j=0;j<a;j++)
    	{
    		sum2=0;
    		for(i=0;i<a;i++)
    		{
    			sum2+=score[i][j];
    		}
    		printf("第%d列的和为%d
    ",j+1,sum2);
    	}
    	sum3=0;
    	for(i=0;i<a;i++)
    	{
    		for(j=0;j<a;j++)
    		{
    			if(i==j)
    			{
    				sum3+=score[i][j];
    			}
    		}
    	}
    		printf("对角线的和为%d
    ",sum3);
    	sum4=0;
    	for(i=0;i<a;i++)
    	{
    		for(j=0;j<a;j++)
    		{
    			if(i+j==a-1)
    			{
    				sum4+=score[i][j];
    			}
    		}
    	}
    	printf("副对角线的和为%d",sum4);
    	return 0;
    } 
    

    2.2 程序运行结果:

    二、实验总结

    1.计算每个变量的时候都要重新赋值。

    2.函数不用返回值。因为平均值数组是通过参数数组传过来的,可以把函数计算的平均值带回去

    3.如果对数组每行求平均,那么平均值是多个,应该存放在一个数组里面,函数参数应该有一个存放平均值的数组

  • 相关阅读:
    FpSpread实现筛选的功能
    比较通用的ID,ParentID结构表,返回树路径。
    如何解决,在安装Sql2000时,出现程序挂起的解决方法。
    FarPoint Spread 控件如何实现剪切,粘贴,复制
    MySql中Group By和Order By使用的注意事项!
    php md5下16位和32位的实现代码
    Shadows在C#代替方法!
    FTP命令使用详解
    数据库中存放目录与文件结构,方案选择
    vs2008 sp1下载
  • 原文地址:https://www.cnblogs.com/wei530/p/6159088.html
Copyright © 2011-2022 走看看