您的位置:首页 > 其它

(要求使用指针方法)一个班有四名学生,五门课。(1)求第一门课的平均分;(2)找出有两门以上课不及格的学生,输出他们的学号、全部课程成绩和平均成绩;(3)找出平均成绩在90分以上或全部课程成绩均在85

2015-05-29 14:31 916 查看
(3)找出平均成绩在90分以上或全部课程成绩均在85分以上的学生。分别编写3个函数实现以上3个功能。

#include<stdio.h>

#include<stdlib.h>

void aver1(float *b)

{

int i,j;

float s=0;

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

{ s=s+*(b+j);

j=j+5;}

printf("%f\n",s/4);

}

void excellent(float (*b)[5])

{

int n[27]={0},x[27]={0};

int i,j=0,k,h=0,f=0;

float w;

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

{h=0,f=0;w=0;

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

{ w=w+*(*(b+i)+k);

if(*(*(b+i)+k)>=85)

h++;

if(h>=5)

printf("da yu ba shi wu student %d\n ",i);

}

if((w/5)>=90)

printf("da yu jiu shi student %d\n",i);

}

}

void fail(float (*b)[5])

{

int n[27],x[27];

int i,j=0,k,h=0;

float w;

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

{n[j++]=0;

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

if(*(*(b+i)+k)<60.0)

{

n[j]++;

if(n[j]>=2)

{ x[h]=i;

h++;

break;}

}}

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

{printf("%d ",x[i]);

w=0;

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

{

printf("%.2f\t ",*(*(b+x[i])+k));

w=w+*(*(b+x[i])+k);

}

printf("%.3f\n",w/5);

}

}

main()

{

float a[4][5];

int i,j,k,b,n;

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

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

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

aver1(*a);

fail(a);

excellent(a);

system("pause");

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: