• 作业十


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

    #include<stdio.h>
    int sum(double a[5][5],int m);
    double average(double a[5][5],int m);
    double average1(double a[5][5],int m);
    int main()
    {
    double a[5][5]={{60,61,62},{63,64,65},{66,67,68},{69,70,71},{72,73,74}};
    int i,x,n;
        for(i=0;i<5;i++)
        {
            a[i][3]=sum(a,i);
            a[i][4]=average(a,i);
        }
        printf("	语文	数学	英语	总分	平均分
    "); 
        for(i=0;i<5;i++)
        {    
            for(x=0;x<5;x++)
            {
                printf("	%.2lf",a[i][x]);
            }
            printf("
    ");
        }
        printf("平均值"); 
        for(i=0;i<3;i++)
        {
            printf("	%.2lf",average1(a,i));
        }
            
         
         return 0; 
    }
    int sum(double a[5][5],int m)
    {
        int i;
        int sum=0;
        for(i=0;i<3;i++)
        {
            sum+=a[m][i];
        }
        return sum;
    }
    double average(double a[5][5],int m)
    {
        return (double)sum(a,m)/3;
    }
    double average1(double a[5][5],int m)
    {
        int sum=0,n;
        for(n=0;n<5;n++)
        {
                sum=sum+a[n][m];
        } 
        return (double)sum /5;
            
    }

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

    #include<stdio.h>
    int main()
    {    
        int m;
        printf("输入矩形的长宽:
    ");
        scanf("%d",&m);int a[m][m],i,j,x=1,b[m],c[m],n=0,y=0;
        for(i=0;i<m;i++)
        {
            b[i]=0;
            c[i]=0;
         } 
        for(i=0;i<m;i++)
        {
            for(j=0;j<m;j++)
            {
                a[i][j]=x++;
                printf("%4d",a[i][j]);
                if((x-1)%m==0)
                {
                 printf("
    ");
                }
            }
        }
        for(i=0;i<m;i++)
        {
            for(j=0;j<m;j++)
            {
                b[i]+=a[i][j];
                c[j]+=a[i][j];
                if(i==j) 
                {
                    n+=a[i][j];
                }
                if(i+1==m-j)
                {
                    y+=a[i][j];
                }
            }
        }
        for(i=0;i<m;i++)
        {
            printf("第%d行和为%d,第%d列和为%d
    ",i+1,b[i],i+1,c[i]);
        }
        printf("对角线和为%d与%d。",n,y);
        return 0;
    } 

    附加题

    1.按照以下形式打印杨辉三角(要求输出10行)

        杨辉三角形具有如下特点:(1)第一列和对角线上的元素都为1 (2)除第一列和对角线上的元素之外,其他元素的值均为前一行上的同列元素和前一列元素之和。    

    我是真不会了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。我是真不会了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。我是真不会了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。我是真不会了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。我是真不会了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。我是真不会了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。我是真不会了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。我是真不会了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    #include<stdio.h>
    int main()
    {
        int a[100][100],i,j,n,x;
        printf("输入一个整数
    ");
        scanf("%d",&n); 
        if(n==1)
        {
            printf("1
    ");
        }
        else if(n==2)
        {
            printf(" 1
    1 1
    ");
        }
        else if(n>2&&n<=100)
        {
            for(i=1;i<=n;i++)
            {
                a[i][1]=1;
                a[i][i]=1;
            }
            for(i=1;i<=n;i++)
            {
                for(j=2;j<i;j++)
                {
                    a[i][j]=a[i-1][j-1]+a[i-1][j];
                }
                    for(j=1;j<=i;j++)
                    {
                        printf("%4d",a[i][j]);
                    }
                    printf("
    ");    
            }
        }
        else
        {
            printf("错误
    ");    
        }
        return 0;
    }

     

    实验总结:

    1:数组要定义长度,不能越界。

    2:实现数组换位,要有多余的位置。

    3:合理运用制表符 。

    4.可以用二维数组输出多个数据。  

  • 相关阅读:
    牛客寒假6-I 导航系统
    牛客寒假6-C汉诺塔
    P1282 多米诺骨牌【dp】
    VisualStudio中C++程序输出一闪而过的解决方案
    【网络流24题】【LOJ6224】深海机器人问题(最大费用最大流)
    【网络流24题】【LOJ6013】负载平衡(环形纸牌均分,最小费最大流)
    【网络流24题】【LOJ6010】数字梯形(费用流)
    【网络流24题】【LOJ6000】搭配飞行员(二分图最大匹配,最大流Dinic)
    路由器相关
    PC启动原理
  • 原文地址:https://www.cnblogs.com/mty1997/p/6160348.html
Copyright © 2020-2023  润新知