| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1746 人关注过本帖
标题:有一个班4个学生和5门课程,我第二个找两门以上课程不及格的学生,输出他们 ...
只看楼主 加入收藏
Davieyu
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-6-28
结帖率:100%
收藏
已结贴  问题点数:4 回复次数:1 
有一个班4个学生和5门课程,我第二个找两门以上课程不及格的学生,输出他们的学号和全部课程,总是错了(求解)
#include<stdio.h>
void main()
{  float a[4][5];
   float (*p)[5];
   int i,j;
   void aver(float (*p)[5],int n);
   void search(float (*p)[5],float all);
   printf("输入全部的成绩:\n");
   for(i=0;i<4;i++)
       for(j=0;j<5;j++)
       scanf("%f",&a[i][j]);
       aver(a,5);
       search(a,0);
}


   
             void aver(float (*p)[5],int n)       //求第一门课程的平均分
             {   float sum=0;
                 float c;
                 int k;
                 for(k=0;k<4;k++)
                 {  sum=sum+*(*(p+k)+0);
                 }
                 c=sum/5;
                 printf("第一门课程的平均分:%f\n",c);
             }
  
              void search(float (*p)[5],float all)   //找出有两门以上的课程不及格的学生,输出他们的学号,总成绩和平均成绩
               {  int m=0;
                  float averge;
                  int i,j,number,k;
                  for(i=0;i<4;i++)
                  {      for(j=0;j<5;j++)
                      {  if(*(*(p+i)+j)<60)
                  {     m++;
                  }
                  }
                         if(m>2)
                         { for(k=0;k<5;k++)
                         { all=all+*(*(p+i)+k);
                         }
                          number=i+1;
                          averge=all/5;
                         printf("学号:%d\n总成绩:%d\n平均成绩:%d\n",number,all,averge);
                             m=0;  
                         }
                  }
              }
搜索更多相关主题的帖子: include search 课程 
2016-08-15 10:22
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:4 
以下是引用Davieyu在2016-8-15 10:22:00的发言:

#include<stdio.h>
void main()
{  float a[4][5];
   float (*p)[5];  //这句没用

             void aver(float (*p)[5],int n)       //求第一门课程的平均分
             {   float sum=0;
                c=sum/5;                        //这里是除4不是除5,总的才4人

             }
  
              void search(float (*p)[5],float all)   //找出有两门以上的课程不及格的学生,输出他们的学号,总成绩和平均成绩
               {         
                  for(i=0;i<4;i++)
                  {      for(j=0;j<5;j++)
                      {  if(*(*(p+i)+j)<60)
                  {     m++;
                  }
                  }
                         if(m>2)                        //这里改成if(m>=2)
                         { for(k=0;k<5;k++)
                         { all=all+*(*(p+i)+k);
                         }
                          number=i+1;
                          averge=all/5;
                         printf("学号:%d\n总成绩:%d\n平均成绩:%d\n",number,all,averge);        //除了学号%d,其它改成%f
                             m=0;              //放到if结构之外
                         }
                  }
              }

2016-08-15 11:08
快速回复:有一个班4个学生和5门课程,我第二个找两门以上课程不及格的学生,输出 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017343 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved