作业10

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

#include<stdio.h>
#define N 5
int main()
{
    int a[5][3],i,j,sumA=0,sum1;
    double sum[N],n,ave=0;
     printf("input the score:\n");
     for(i=0;i<5;i++)
     { printf("输入第%d个学生的成绩:\n",i+1);
        for(j=0;j<3;j++)
        {
            scanf("%d",&a[i][j]);            
        }       
     }
    for(i=0;i<5;i++)
    {
        for(j=0;j<3;j++)
        {
        sumA=sumA+a[i][j];
        ave=(double)sumA/15;
        }
    }

    for(i=0;i<5;i++)
    {
    sum1=0;
    for(j=0;j<3;j++)
    {
        sum1=sum1+a[i][j];
        sum[i]=(double)sum1/3;
    }
   }
    printf ("语文  数学   英语  平均分\n");
    for(i=0;i<5;i++)
    {
        for(j=0;j<3;j++)
        {
        printf ("%3d   ",a[i][j]);
    }
    printf(" %.2f\n",sum[i]);
    }
    
    printf("五个学生总分%d,平均分%.2lf",sumA,ave) ;

    return 0;    
    }

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

#include <stdio.h>
#define N 100
int main()
{
    int a[N][N],i,j,x,n=0,sum=0;
    printf("输入行数\n");
    scanf("%d",&x);
    for(i=0;i<x;i++)
    {
        printf("\n");
        for(j=0;j<x;j++)
        {
         n++;
         a[i][j]=n;
         printf("%4d",n);
        }
    }
    printf("\n");
    for(i=0;i<x;i++)
    {
        sum=0;
        for(j=0;j<x;j++)
        {
            sum+=a[i][j];
             
        }
        printf("第%d行的和为%d\n",i+1,sum);
    }
    for(j=0;j<x;j++)
    {
        sum=0;
        for(i=0;i<x;i++)
        {
            sum+=a[i][j];
             
        }
        printf("第%d列的和为%d\n",j+1,sum);
    }
    sum=0;
        for(i=0;i<x;i++)
    {
        for(j=0;j<x;j++)
        {
            if(i==j)
            {
              sum+=a[i][j];
            }  
        }
    }
    printf("从左上到右下的对角线的和为%d\n",sum);
    sum=0;
    for(i=0;i<x;i++)
    {
        for(j=x;j>=0;j--)
        {
            if(i==j)
            {
              sum+=a[i][j];
            }  
        }
    }
    printf("从右上到左下的对角线的和为%d\n",sum);
    return 0;
}

实验总结

1.定义函数时要想清楚有没有返回值.

2.数字的初始值一定要定义.

3.字符的类型要想好.

4.尽量简化程序 ,比如相同的循环可以直接套在一个循环里.

5.二维数组的行和列要分清。

 

转载于:https://www.cnblogs.com/wp980327/p/6160014.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值