作业(十)

1.

实验要求:

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

实验代码:

 

#include<stdio.h>
#define m 5
#define n 6
int main()
{
    int i=0,j=0;
    float sum=0,ave=0;
    float score[m][n]={{1,65,78,84},{2,68,78,89},{3,81,48,84},{4,85,67,69},{5,90,80,50}};
    for(i=0;i<m;i++)
    {
        for(j=1;j<=n-3;j++)
        {
            score[i][n-2]=score[i][n-2]+score[i][j];
        }
        score[i][n-1]=(score[i][n-2])/3; 
    }
    
    printf("\t同学\t语文\t数学\t英语\t总分\t平均分\t\n");
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            if(score[i][j]==0)
            {
                break;
            }
            printf("\t%.2lf",score[i][j]);
        }
        printf("\n");
    }
    printf("平均值:");
    for(j=1;j<=n-3;j++)
    {
        sum=0;
        for(i=0;i<m;i++)
        {
            sum+=score[i][j];
        }
        ave=sum/5;
        printf("\t%.2lf",ave);
    }
    return 0;
}

 

实验截图:

 

 

2.

实验要求:                    

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

实验代码:

#include<stdio.h>
#define N 100
int main()
{
    int n,sum[N][N]={0},i=0,j=0,m=1,sum1=0,sum2=0,I,J;
    printf("请输入方阵的长度\n");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            sum[i][j]=m++;
        }
    }
    printf("原方阵:\n");
    for(i=0;i<=n;i++)
    {
        for(j=0;j<=n;j++)
        {
            if(sum[i][j]==0)
            {
                break;
            }
            printf("%4d",sum[i][j]);
        }
        printf("\n");
    }//对角线
    for(i=n-1;i>=0;i--)
    {
        j=n-i-1;
        sum1=sum1+sum[i][j];
    }
    for(i=0;i<=n-1;i++)
    {
        j=i;
        sum2=sum2+sum[i][j];
    }//每行每列
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            sum[i][n]=sum[i][n]+sum[i][j];
        }
    }
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            sum[n][j]=sum[n][j]+sum[i][j];
        }
    }//输出
    for(i=0;i<=n;i++)
    {
        for(j=0;j<=n;j++)
        {
            if(sum[i][j]==0)
            {
                break;
            }
            printf("%4d",sum[i][j]);
        }
        printf("\n");
    }
    for(i=0;i<n;i++)
    {
        I=i+1;
        printf("第%d行的合是%4d\n",I,sum[i][n]);
    }
    for(j=0;j<n;j++)
    {
        J=j+1;
        printf("第%d列的合是%4d\n",J,sum[n][j]);
    }
    printf("从右上到左下的对角线合为%d\n",sum1);
    printf("从左上到右下的对角线合为%d\n",sum2);
    return 0;
}

 

实验截图:

实验结论:

1.二维数组[][]第一个可以为空白,第二个不能为空白。

2.数组的越界问题还是要考虑。

3.注意循环之前要先对其赋值。

4.要注意计算平均值时的小数点。 

转载于:https://www.cnblogs.com/wgy774553994/p/6160614.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值