zoukankan      html  css  js  c++  java
  • 第十次实验

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

    #include <stdio.h>
    int main()
    {
        int score[5][3]={{60,60,60},{50,50,50},{70,70,70},{80,80,80},{90,90,90}};
        int j,i,suma,sumb,SUMA[5];
        double avea[5],aveb[3];
        printf("          语文   数学   英语   总分   平均分
    ");
        for(i=0;i<5;i++)//个人平均分最大值
        {
            suma=0;
                for(j=0;j<3;j++)
                {
                    suma+=score[i][j];
                    SUMA[i]=suma;
                }
                SUMA[i]=suma;
                avea[i]=(double)suma/3;
    
        }
        for(j=0;j<3;j++)//学科平均分
        {
            sumb=0;
            for(i=0;i<5;i++)
            {
                sumb+=score[i][j];
            }
            aveb[j]=(double)sumb/5;
        }
        for(i=0;i<5;i++)
        {
            printf("第%d名学生:",i+1);
            for(j=0;j<3;j++)
            {
                printf("%d     ",score[i][j]);
            }
            printf("%d     %.1f
    ",SUMA[i],avea[i]);
        }
        printf("  平均分:");
        for(i=0;i<3;i++)
        {
            printf("%.1f   ",aveb[i]);
        }
        printf("
    ");
        return 0;
    }

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

    #include <stdio.h>
    int main()
    {
        int a[3][3]={{1,2,3},{4,5,6},{7,8,9}},suma[3],sumb[3],num[2];
        int i,j,sum,numa=0,numb=0;
        printf("array a:
    ");
        for(i=0;i<3;i++)
        {   for(j=0;j<3;j++)
            {     
                printf("%5d",a[i][j]);
            }
              printf("
    ");
        }  
        for(i=0;i<3;i++)    
        {          sum=0;
            for(j=0;j<3;j++)  
            {
               sum+=a[i][j];
            }
            suma[i]=sum;
        }
    for(j=0;j<3;j++)    
        {           sum=0;
            for(i=0;i<3;i++)    
            {   
                 sum+=a[i][j];
            }
            sumb[j]=sum;
        }
    for(i=0;i<3;i++) 
        { 
            for(j=0;j<3;j++) 
            {
            
                if(i==j) 
                {
                    numa+=a[i][j]; 
                }
            }
        } 
        num[0]=numa;
    
    
        
    for(i=0;i<3;i++)
    {
      for(j=0;j<3;j++)
      {
          if(i+j==2)
          {
          numb+=a[i][j];
         }
      }
    }
    num[1]=numb;
    
    printf("每行的和为:");
    for(i=0;i<3;i++)
    {
        printf("%d  ",suma[i]);
    } 
     printf("
    ");
     printf("每列的和为:");
    for(i=0;i<3;i++)
    {
        printf("%d ",sumb[i]);
    } 
    printf("
    ");
    printf("主次对角线的和:");
    for (i=0;i<2;i++)
    {
        printf("%d ",num[i]);
    }
        return 0;
     } 

    实验总结:

    1表格的形式输出运用循环输出数组的值与空格的添加来的得到一个类表格的输出。

    2二维数组的行列求和就是确定某一行求一行中每一列的和 采用循环套循环的方式求出。

    3求矩阵的对角线和为11  22  33的主对角线与13 22 31的次对角线  主对角线等同为i=j时的数组之和,次对角线为i+j=2时的数组和。

  • 相关阅读:
    【2012 百度之星资格赛 E:C++ 与Java】
    【hdu 1009】
    【2012 百度之星 / 初赛第一场 B:小小度刷礼品】
    【2012 百度之星资格赛 F:百科蝌蚪团】
    【在ubuntu下安装sublime text2】
    【2012 百度之星资格赛 B:小诺爱USB设备】
    【2012 百度之星资格赛 H:用户请求中的品牌】
    【pass】
    【黑客宣言】
    【基础训练题解 3106 石头剪刀布 】
  • 原文地址:https://www.cnblogs.com/xiongx/p/6139307.html
Copyright © 2011-2022 走看看