编写程序,输出某班4名学生中某个学生的各门功课成绩和平均成绩。假设每个学生包含5门课成绩。

编写程序,输出某班4名学生中某个学生的各门功课成绩和平均成绩。假设每个学生包含5门课成绩。按要求完成以下内容:

(1)编写函数input( )输入所有学生的信息;     

(2)编写函数find(),根据指定的学生姓名输出该学生的各项信息;

说明:

(1)输入格式说明:除格式控制符外,不允许有普通字符

(2)输出格式说明:  学号和姓名的输出格式为--"%d %s\n"

                                每门功课成绩的输出格式为--"%-3d"

                                平均成绩的输出格式为--"%7.2f"

(3)部分程序段如下:

 

#include <stdio.h>

#include <string.h>

struct stu{

int num;

char name[20];

int score[5];

float avg;

};

int main()

{

 void input(struct stu s[],int n);

        void find(struct stu s[],int n,char *na);

        struct stu s[4];

char xingming[20];

printf("请输入学生信息");

      /*************请在下面空白处加上合适的函数调用语句******/

 

     /**********************************************************/

printf("请输入要查找的学生的姓名");

        gets(xingming) ;

      /*************请在下面空白处上合适的函数调用语句******/

 

     /**********************************************************/

    return 0;

}

/****请在下面定义所需函数***/

#include <stdio.h>

#include <string.h>

struct stu{

int num;

char name[20];

int score[5];

float avg;

};

 void input(struct stu s[],int n)

 {int i;

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

  {

  scanf("%d%s%d%d%d%d%d",&s[i].num,&s[i].name,&s[i].score[0],&s[i].score[1],&s[i].score[2],&s[i].score[3],&s[i].score[4]);

  s[i].avg=(s[i].score[0]+s[i].score[1]+s[i].score[2]+s[i].score[3]+s[i].score[4])/5.0;

  }

 }

 void find(struct stu s[],int n,char *na)

 {

 int i;

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

 {

 if(strcmp(s[i].name,na)==0)

   {

   printf("%d %s\n%-3d%-3d%-3d%-3d%-3d%7.2f",s[i].num,s[i].name,s[i].score[0],s[i].score[1],s[i].score[2],s[i].score[3],s[i].score[4],s[i].avg);

       break;

   }

 }

 if(i>=n)

 printf("no student");

 } 

int main()

{

struct stu s[4];

char n[20];

printf("请输入学生信息");

input(s,4);

getchar();

printf("请输入要查找的学生的姓名");

    gets(n) ;

    find(s,4,n);

    return 0;

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值