杭电2023
#include <stdio.h>#include <malloc.h>
int main()
{
int n,m; //n为学生个数,m为课程数目
int i,j,a,k; double sum;
int * p; int * t;
while(scanf("%d %d",&n,&m) != EOF && (n != 0 || m != 0))
{
p = (int *)malloc(sizeof(int) * n * m); //存放同学的成绩
t = (int *)malloc(sizeof(int) * n); //存放同学的编号
for(i = 0;i < n;i++)
{
for(j = 0;j < m;j++)
{
scanf("%d",&p[i * m +j]);
}
t[i] = 0;
}
for(i = 0; i < n;i++) //输出每个同学的平均成绩
{
sum = 0.0;
for(j = 0;j < m;j++)
{
sum = sum + p[i * m + j];
}
if(i == 0) printf("%.2f",sum / m);
else printf(" %.2f",sum / m);
}
printf("\n");
for(i = 0; i < m;i++) //输出每门课程的平均成绩
{
sum = 0.0;
for(j = 0;j < n;j++)
{
sum = sum + p[i + j * m];
}
if(i == 0) printf("%.2f",sum / n);
else printf(" %.2f",sum / n);
for(k = 0;k < n;k++)
{
if(p[i + k * m] >= (sum / n)) //这里表示的是如果t[k]编号同学的该门成绩大于等于平均成绩时,t[k]++
{
t[k]++;
}
}
}
printf("\n");
a = 0;
for(k = 0;k < n;k++) //当编号t[k]同学的值等于科目的数目时就说明t[k]的所有成绩都高于平均值
{
if(t[k] == m) a++;
}
printf("%d\n",a);
}
return 0;
}
杭电ACM2023:在VC6.0编译挺好的,为什么提交的时候,会出现表达错误~真心崩溃~求大神看小弟的代码有啥错误