• 第十次作业


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

    #include<stdio.h> 
    #define N 40
    #define M 40
    int isum_row(int score[][N],int n);
    int isum_column(int score[][N],int n);
    int main()
    {
        int score[M][N]={{100,98,99},{93,55,64},{53,99,65},{64,85,35},{35,99,66}},sum[M][N]={0},ave,i,j,ii;
        printf("学号	语文	数学	英语	总分	平均分
    ");
        for(j=0;j<M;j++)
        {
            printf("%d	",j+1);
            for(i=0;i<N;i++)
            {
                if(score[j][i]==0)
                {
                    break;
                }
                printf("%d	",score[j][i]);        
            }
            printf("%d	",isum_row(score,j));
            printf("%d
    ",isum_row(score,j)/3);
            if(score[j+1][0]==0)
            break;
        }
        printf("平均分	");
        for(i=0;i<3;i++)
        {
            printf("%d	",isum_column(score,i)/5);
        }
    }
    int isum_row(int score[][N],int n)
    {
        int i,sum=0;
        for(i=0;i<N;i++)
        {
            sum+=score[n][i];
        }
        return sum;
    }
    int isum_column(int score[][N],int n)
    {
        int i,sum=0;
        for(i=0;i<M;i++)
        {
            if(score[i+1][0]==0)
            {
            break;
            }
            sum+=score[i][n];
        }
        return sum;
    }

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

    #include<stdio.h>
    #include<stdlib.h> 
    #define N 40
    int main()
    {
        int matrix[N][N]={0},i,j,sum,ia=0,ib=0,ic,id;
        char c;
        for(j=0;j<N;j++)
        {
            ia=0;
            for(i=0;i<N;i++)
            {
                scanf("%d",&matrix[j][i]);
                ia++;
                if(matrix[j][i]==0)
                break;
            }
            fflush(stdin);
            printf("是否输入下一行?");
            ib++;
            if((c=getchar())=='n'||c=='N')
            break;
        }
        system("cls");
        for(j=0;j<N;j++)
        {
            for(i=0;i<N;i++)
            {
                if(matrix[j][i]==0)
                {
                printf("
    ");
                break;
                }
                printf("%2d  ",matrix[j][i]);
            }
            if(matrix[j+1][0]==0)
            break;
        }
        for(j=0;j<N;j++,sum=0)
        {
            for(i=0;i<N;i++)
            {
                sum+=matrix[j][i];
            }
            printf("第%d行:",j+1);
            printf("%d
    ",sum);
            if(matrix[j+1][0]==0)
            break;
        }
        for(j=0;j<N;j++)
        {
            sum=0; 
            for(i=0;i<N;i++)
            {
                sum+=matrix[i][j];
            }
            printf("第%d列:",j+1);
            printf("%d
    ",sum);
            if(matrix[0][j+1]==0)
            break;
        }
        for(i=0,sum=0;i<N;i++)
        {
            sum+=(matrix[i][i]+matrix[i][ib-1-i]);
        }
        if(ia%2==0)
        {
            ic=ia/2;
        }
        else
        {
            ic=(ia+1)/2;
        }
        if(ib%2==0)
        {
            id=ib/2;
        }
        else
        {
            id=(ib+1)/2;
        }
        sum=sum-matrix[ic][id];
        printf("对角线的和为%d
    ",sum);
    }

    实验总结:

    1,第一题算是挺简单的了。不过为了看上去“通用”些,依然给写复杂了......

    2,第二题差点没恼死我,刚开始以为是“矩阵”,心想不规则斜率怎么写......后来意识到是“方阵”......

    3,懒癌,又没写附加题。

    老师别打我!!!!!!!!

  • 相关阅读:
    eclipse配置spring4.0环境详细教程
    PostgreSQL精简命令:
    Unity3D项目之 Survival Shooter 记录
    Unity UGUI 实现简单拖拽功能
    Unity UGUI实现Button按钮长按状态的判断
    Unity获取文件夹下指定类型的文件数量
    Unity5 AssetBundle打包加载及服务器加载
    Unity5.X 新版AssetBundle打包控制
    Unity基于DFGUI的TreeView设计
    Unity5.X 新版AssetBundle使用方案及策略
  • 原文地址:https://www.cnblogs.com/wxc123/p/6160428.html
Copyright © 2020-2023  润新知