c语言知识(找出大于2门成绩不及格的学生)

1.首先定义一个学生结构体(结构体中包含一个Score结构体):

typedef struct score{

  float chinese;//语文成绩

  float english;//英语成绩

  float history;//历史成绩

}Score;

 typedef struct stu{

     char name[20];//姓名

     char sex;//性别

     Score _score;//分数

} Student;

2.定义一个找出成绩至少2门不及格的学生信息的函数

void getStudentsOfFail(Student *stu,int count){

   int temp=0;//用于计数 不及格的成绩的个数

    for(int i=0;i<count;i++){

            if((stu+i)->_score.chinese<60){

                   temp++;

          }  

           if((stu+i)->_score.english<60){

                  temp++;

          }

         if((stu+i)->_score.history<60){

                 temp++;

       }

        if(temp>2){

             printf("学生的信息为:姓名:%s 性别:%c ",(stu+i)->name,(stu+i)->sex);

        }

  }    

}

 

3.这样就可以打印出成绩至少两门不及格的学生的信息

4.反思:做这个题的时候我思维比较混乱,也想了一个笨的办法,把所有符合条件的情况都写在判断里,最后发现这样做效率比较低,不得不说,身边有一些朋友同学确实善于思维,我觉得这种方法比较好,学习一下顺便培养一下自己这方面欠缺的能力.

 

转载于:https://www.cnblogs.com/yk123/p/5037050.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值