• 第十次作业


    一、实验内容      

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

    #include<stdio.h>
    #define H 5
    #define L 5
    int main()
    {
        int i,j,sum=0;
        float ave,score[H][L]={67,89,78,0,0,68,98,88,0,0,90,70,56,0,0,78,80,78,0,0,78,89,70,0,0};;
        for(i=0;i<H;i++)
        {
            sum=0;
            for(j=0;j<L;j++)
            {
                sum+=score[i][j]; 
                score[i][3]=sum;
                
            }
            ave=0;
            ave=(double)sum/3;
            score[i][4]=ave;
        }   
        printf("          语文    数学     英语     总分    平均分");
        printf("
    ");
    
        for(i=0;i<H;i++)
        {
                printf("学生%d	",i+1);
            for(j=0;j<L;j++)
            {
                printf("  %.2f ",score[i][j]);
            }
            if(j==5)
            {
                printf("
    ");
            }
        }
        for(i=0;i<H;i++)
        {    
            sum=0;
            for(j=0;j<L;j++)
            {
                sum=sum+score[j][i];
                ave=0;
                ave=(double)sum/5;
                score[i][5]=ave;
            }
        }
        printf("平均分");
        for(i=0;i<L;i++)
        {
            printf("    %.2f",score[i][5]);
        }
        printf("
    ");
        return 0;
    
    } 

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

    #include<stdio.h>
    #define N 5
    int main()
    {
        int n,i,j,h,l,duisum1=0,duisum2=0,a[N][N]={0};
        for(i=0;i<N;i++)
        for(j=0;j<N;j++)
        {
            a[i][j]=n;
            n++;
            printf("%5d",a[i][j]);
        }
        printf("
    ");
        for(i=0;i<N;i++)
        {
            h=0;
            for(j=0;j<N;j++)
            {
                h+=a[i][j];
            }
            printf("第%d行的元素之和为%d
    ",i+1,h);
        }
        for(j=0;j<N;j++)
        {
            l=0;
            for(i=0;i<N;i++)
            {
                l+=a[i][j];
            }
            printf("第%d列的元素之和为%d
    ",j+1,l);
        }
        duisum1=a[0][0]+a[1][1]+a[2][2]+a[3][3]+a[4][4];
        duisum2=a[0][4]+a[1][3]+a[3][1]+a[4][0];
        printf("左上到右下对角线的和为%d
    ",duisum1);
        printf("左下到右上对角线的和为%d
    ",duisum2);
        return 0;
    }

     二、实验总结

    1.注意不要越界。

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

    3.输出时不加取地址符

  • 相关阅读:
    错误:/usr/lib/python2.4/sitepackages/_sqlitecache.so: wrong ELF class: ELFCLASS32
    Ubuntu 12.04LTS g++编译错误解决
    yum Error: Cannot retrieve repository metadata (repomd.xml) for repository: xxxxx
    win7中制作ubuntu 1210启动盘
    Java 访问 Hbase 的API
    光标所能实现的不同形状
    Asp遍历服务器对象的代码
    一些好的网站
    通用高效分页存储过程代码
    一些模拟windows 界面的 js
  • 原文地址:https://www.cnblogs.com/faner10110/p/6143302.html
Copyright © 2020-2023  润新知