3个c语言经典算法

来源:互联网 发布:库里2016总决赛数据 编辑:程序博客网 时间:2024/06/05 19:50

/*下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的数据随机输入,新数组以44列的方式输出,

请在空白处完善程序。*/

main()

{  int  a[4][4],b[4][4],i,j;      

   printf("input 16 numbers: ");


   for(i=0;i<4;i++)

       for(j=0;j<4;j++)

       {  scanf("%d",&a[i][j]);

          b[3-j][i]=a[i][j];

        }

   printf("array b:\n");

   for(i=0;i<4;i++)

      {  for(j=0;j<4;j++)

         printf("%6d",b[i][j]);

         printf("\n");

       }

}

2/*编程打印直角杨辉三角形*/

main()

{int i,j,a[6][6];

 for(i=0;i<=5;i++)

  {a[i][i]=1;a[i][0]=1;}

 for(i=2;i<=5;i++)

    for(j=1;j<=i-1;j++)

     a[i][j]=a[i-1][j]+a[i-1][j-1];

 for(i=0;i<=5;i++)

    {for(j=0;j<=i;j++)

        printf("%4d",a[i][j]);

     printf("\n");}

}

3/*通过键盘输入3名学生4门课程的成绩,

分别求每个学生的平均成绩和每门课程的平均成绩。

要求所有成绩均放入一个45列的数组中,输入时同一人数据间用空格,不同人用回车 

其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/

#include <stdio.h>

#include <stdlib.h>

main()

{ float a[4][5],sum1,sum2;

  int i,j;

  for(i=0;i<3;i++)

    for(j=0;j<4;j++)

      scanf("%f",&a[i][j]);

  for(i=0;i<3;i++)

  { sum1=0;

    for(j=0;j<4;j++)

      sum1+=a[i][j];

      a[i][4]=sum1/4;

  }

  for(j=0;j<5;j++)

  {  sum2=0;

     for(i=0;i<3;i++)

       sum2+=a[i][j];

       a[3][j]=sum2/3;

   }

   for(i=0;i<4;i++)

   {  for(j=0;j<5;j++)

      printf("%6.2f",a[i][j]);

      printf("\n");

   }

}

0 0