第1个回答 2008-12-26
#include <stdio.h>
#include <stdlib.h>
int good(float arr[][5])
{float avr;
int i,j,flag,num=0;//num为符合条件的人数
for(i=0;i<10;i++)
{avr=0;//计算个人总成绩用
flag=1;//各科超过85标志
for(j=0;j<5;j++)
avr+=arr[i][j];//求出个人总成绩
for(j=0;j<5;j++)
if(arr[i][j]<85){flag=0;break;}//有不到85的则标志置0
avr/=5; //avr变成平均分
if(avr>=90 || flag==1)num++;//有符合条件的则总数加一
}
return num;
}
int main()
{float score[10][5];
int i,j,number;
for(i=0;i<10;i++)
{printf("请输入第%d个学生的成绩:\n",i+1);//提示输入
for(j=0;j<5;j++)
{printf("第%d门:",j+1);
scanf("%f",&score[i][j]);
}
}
number=good(score);//求出个数
printf("平均成绩在90分以上或全部课成绩在85分以上的学生个数为%d\n",number);//输出
system("pause");
return 0;
}
第2个回答 2008-12-26
main()
{
int i,j,sum=0,count=0;//count计大于90的学生个数
int soce[10][5];//定义一个二维数组10表示十个学生5代表五门功课
for(i=0;i<10;i++){//依次给给十个学生的五门功课分数
for(j=0;j<5;j++){
scanf("%d",soce[i][j]);
}
}
for(i=0;i<10;i++){++){
for(j=0;j<5;j++){//依次给给十个学生的五门功课分数的总分
sum+=soce[i][j];
}
if(sum/5>90)//求五门功课是否大于90
{
count++;//是的话++;
}
}
printf("%d",count);
getch();
}
第3个回答 2008-12-26
void process()
{
int i,j; //i、j是循环变量
for(i=0;i<10;i++)
if(score[i][1]>85&&score[i][2]>85&score[i][3]>85&&score[i][4]>85&&score[i][5]>85) print("%d ",i+1); //如果该学生每一科成绩都在85分以上,则输出该学生的号码(即输入时的顺序号码)
else {for(j=0;j<5;j++)
ave+=score[i][j];
ave/=5; //计算出平均分
if(ave>90) print("%d ",i+1) //如果该学生平均分在90分以上,则输出该学生的号码
}
}
void main()
{
int a,b,ave=0; //a、b是循环变量,ave是计算当前学生的平均分
int score[10][5]; //存放10个学生的5门成绩
for(a=0;a<10;a++)
for(b=0;b<5;b++)
scanf("%d",&score[a][b]); //读入成绩
process(); //执行处理函数
}