分享

输入五个学生四门课的成绩,计算个人与各科平均成绩及全班平均成绩,并在屏幕上显示出来。

 BUPT-BYR 2010-12-08

 

27.输入五个学生四门课的成绩,计算个人与各科平均成绩及全班平均成绩,并在屏幕上显示出来。

 

/*输入五个学生四门课的成绩,计算个人与各科平均成绩及

 *全班平均成绩,并在屏幕上显示出来。

 */

#include<stdio.h>

/*声明结构struct scores,并定义一个此结构的变量数组*/

struct scores{

       float subject[5];

} score[6];

/*声明函数void findmean(struct scores [])计算

 *各平均值,并存在数组中。

 */

void findmean(struct scores []);

/*声明函数void printscore(struct scores [])

 *打印上述结构的数据类型。

 */

void printscore(struct scores []);

main()

{

       int i,j;

       /*读取成绩*/

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

       {

              printf("请输入学生%d的成绩:\n",i+1);

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

                     scanf("%f",&(score[i].subject[j]));

       }

       printf("结果为:\n\t学生编号\t课程1\t课程2\t课程3\t课程4\t平均成绩\n");

       /*应用函数计算平均值并输出*/

       findmean(score);

       printscore(score);

       return(0);

}

 

/*定义函数void findmean(struct scores [])计算

 *各平均值,并存在数组中。

 */

void findmean(struct scores score[])

{

       int i,j;

       float sum=0;

       /*求个人平均值*/

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

       {

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

                     sum=sum+score[i].subject[j];

              score[i].subject[j]=sum/4;

              sum=0;

       }

       /*求课程平均值*/

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

       {

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

                     sum=sum+score[i].subject[j];

              score[5].subject[j]=sum/5;

              sum=0;

       }

}

 

/*函数void printscore(struct scores [])

 *打印上述结构的数据类型。

 */

void printscore(struct scores score[])

{

       int i,j;

       /*打印的格式控制*/

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

       {

              if(i==5)

                     printf("\t课程平均");

              else

              {

                     printf("\t学生%d",i+1);

            printf("\t");

              }

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

                     printf("\t%f\b\b\b\b\b",score[i].subject[j]);

              printf("\n");

       }

}

运行效果如图:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多