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

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

    #include <stdio.h>
    int main()
    {
        int grade[5][3]={89,45,65,74,58,69,45,31,54,78,98,96,54,78,45},sum[5],i,j,sum1,h;
        double ave[5],ave1[3];
        for(i=0;i<5;i++)
        {
            sum1=0;
            for(j=0;j<3;j++)
            { 
            sum1+=grade[i][j];
            }
            sum[i]=sum1;
            ave[i]=(double)sum1/3;
        }
        for(i=0;i<3;i++)
        {
            sum1=0;
            for(j=0;j<5;j++)
            { 
            sum1+=grade[i][j];
            }
            ave1[i]=(double)sum1/5;
        }
        printf("      语文    数学    英语     总分     平均分
    ");
        h=0;
        for(i=0;i<5;i++)
        {
            for(j=0;j<3;j++)
            { 
            printf("      %d",grade[i][j]);
            h++;
            }
            printf("       %d",sum[i]);
            h++;
            printf("       %.3f",ave[i]);
            h++;
            if(h%5==0)
            printf("
    ");
        }
        printf("平均分");    
            for(i=0;i<3;i++)
        {
            printf("%.3f  ",ave1[i]);
        }
        return 0;
     } 
     

                        

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

    #include <stdio.h>
    int main()
    {
        int i,j,sum,num[20][20]={0},sumline[20],sumcolumn[20],sumdiagonal[2],b;
        printf("请输入方阵的边长:");             
        scanf("%d",&b);
        for (i=0;i<b;i++)
        {
            for(j=0;j<b;j++)
            {
                printf("请输入第%d行第%d列的数据:",i+1,j+1);
                scanf("%d",&num[i][j]);
            }
         }   
        for (i=0;i<b;i++)
        {
            sum=0;
            for(j=0;j<b;j++)
            {
            sum+=num[i][j];    
            }
            sumline[i]=sum; 
         }
        for (i=0;i<b;i++)
        {
            sum=0;
            for(j=0;j<b;j++)
            sum+=num[j][i];
            sumcolumn[i]=sum; 
         }
        for (i=0;i<b;i++)
        {
            sum=0;
            for(j=0;j<b;j++)
            {
                if(i==j)
                sum+=num[i][j];            
            } 
         }
         sumdiagonal[0]=sum;
         sum=0;
        for (i=0;i<b;i++)
        {
            sum+=num[i][b-i];        
         }
         sumdiagonal[1]=sum;
        for (i=0;i<b;i++)
        {
            printf("第%d行之和为%d
    ",i+1,sumline[i]); 
         }
        for (i=0;i<b;i++)
        {
            printf("每%d列之和为%d
    ",i+1,sumcolumn[i]); 
         }
        for (i=0;i<1;i++)
        {
            printf("对角线之和为%d
    ",sumdiagonal[i]); 
         }
        return 0;
     } 

    实验总结:1有必要的话 记得给函数中的数值初始化

                  2不同的编译环境之间是存在差异的   记得在不同的编译环境测试程序

                  3二维数组也是线性存储的

  • 相关阅读:
    博客地址
    Version 1.4.2_03 of the JVM not suitable for this product.解决
    http请求(一) 工具
    Service 的两种启动方法和区别
    软件开发过程应该采用集中优势兵力各个击破
    架构感悟
    嵌套事务模版
    软件行业对人才的依赖
    使用SQL Server 2005 新的语法ROW_NUMBER()进行分页的两种不同方式的性能比较
    架构设计中的分层与分区
  • 原文地址:https://www.cnblogs.com/UUZsama/p/6139473.html
Copyright © 2011-2022 走看看