作者在 2011-10-29 10:11:32 发布以下内容
题目:某班期末考试科目为英语(EN)数学(MT) 物理(PH),有最多不超过40人参加考试。请编程计算 1每个学生的总分和平均分 2每门课程的总分和平均分
score[][]是按学生,科目的数组 XH[]是学号的数组 st是学生总分的数组 t是学生平均分数组 sb是科目总分的数组 b是课程平均分的数组
写了如下代码 运行后各种错误 都是关于printf的too few actual parameters错误 各种关于printf的警告
困惑了好久 求高手解答 不甚感激。。。
#include<stdio.h>
#define N 3
#define M 40
int Read(int score[][N],long XH[]);
#define N 3
#define M 40
int Read(int score[][N],long XH[]);
int AST(int score[][N],float st[],int t[],int n);
int ASB(int score[][N],float sb[N],int b[],int n);
int printf(int score[][N],float sb[N],float st[],long XH[],int t[],int b[],int n);
main()
{
int n=0;
int score[M][N],t[M],b[M];
long XH[M];
float st[M];
float sb[N];
n=Read(score,XH);
AST(score,st,t,n);
ASB( score,sb,b,n);
printf( score,sb,st,XH,t,b,n);
return 0;
}
int printf(int score[][N],float sb[N],float st[],long XH[],int t[],int b[],int n);
main()
{
int n=0;
int score[M][N],t[M],b[M];
long XH[M];
float st[M];
float sb[N];
n=Read(score,XH);
AST(score,st,t,n);
ASB( score,sb,b,n);
printf( score,sb,st,XH,t,b,n);
return 0;
}
int Read(int score[][N],long XH[])
{
int n,i,m;
printf("input n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("enterthenum:");
scanf("%1d",&XH[i]);
printf("enter the score as MT EN PH:");
for(m=0;m<N;m++)
{
scanf("%d",&score[i][m]);
}
}
i=i+1;
return i;
{
int n,i,m;
printf("input n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("enterthenum:");
scanf("%1d",&XH[i]);
printf("enter the score as MT EN PH:");
for(m=0;m<N;m++)
{
scanf("%d",&score[i][m]);
}
}
i=i+1;
return i;
}
int AST(int score[][N],float st[],int t[],int n)
{
int i,m;
for(i=0;i<n;i++)
{
for(m=0;m<N;m++)
{
t[i]+=score[i][m];
}
st[i]=(float)(t[i])/n;
}
return 0;
}
return 0;
}
int ASB(int score[][N],float sb[N],int b[],int n)
{
int i,m;
for(m=0;m<N;m++)
{
for(i=0;i<n;i++)
{
b[m]+=score[i][m];
}
sb[m]=(float)(b[m])/n;
}
return 0;
}
sb[m]=(float)(b[m])/n;
}
return 0;
}
int printf(int score[][N],float sb[N],float st[],long XH[],int t[],int b[],int n)
{
int i,j;
printf("Counting Result:\n");
printf("Student's ID\t MT\n EN\n PH\n Sum\t Aver\n");
for(i=0;i<N;i++)
{
printf("% 121d\t",XH[i]);
for(j=0;j<n;j++)
{
printf("% 4d\t",score[j][i]);
}
printf("% 4d\t% 5.1f\n",t[i],t[i]);
}
printf("SumOfCourse\t");
for(j=0;j<N;j++)
{
printf("% 4d\t",b[j]);
}
printf("\nAverOfCourse\t");
for(j=0;j<N;j++)
{
printf("% 4.1f\t",sb[j]);
}
printf("\n");
{
int i,j;
printf("Counting Result:\n");
printf("Student's ID\t MT\n EN\n PH\n Sum\t Aver\n");
for(i=0;i<N;i++)
{
printf("% 121d\t",XH[i]);
for(j=0;j<n;j++)
{
printf("% 4d\t",score[j][i]);
}
printf("% 4d\t% 5.1f\n",t[i],t[i]);
}
printf("SumOfCourse\t");
for(j=0;j<N;j++)
{
printf("% 4d\t",b[j]);
}
printf("\nAverOfCourse\t");
for(j=0;j<N;j++)
{
printf("% 4.1f\t",sb[j]);
}
printf("\n");
#include<stdio.h>
#define N 3
#define M 40
int Read(int score[][N],long XH[]); /* return 为1 ?*/
int AST(int score[][N],float st[],int t[],int n); /*return 为o ?*/
int ASB(int score[][N],float sb[N],int b[],int n);
int printf(int score[][N],float sb[N],float st[],long XH[],int t[],int b[],int n);
main()
{
int n=0;
int score[M][N],t[M],b[M];
long XH[M];
float st[M];
float sb[N];
n=Read(score,XH);
AST(score,st,t,n);
ASB( score,sb,b,n);
printf( score,sb,st,XH,t,b,n);
return 0;
}
int Read(int score[][N],long XH[])
{
int n,i,m;
printf("input n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("enterthenum:");
scanf("%1d",&XH[i]);
printf("enter the score as MT EN PH:");
for(m=0;m<N;m++)
{
scanf("%d",&score[i][m]);
}
}
i=i+1;
return i;
}
int AST(int score[][N],float st[],int t[],int n)
{
int i,m;
for(i=0;i<n;i++)
{
for(m=0;m<N;m++)
{
t[i]+=score[i][m];
}
st[i]=(float)(t[i])/n;
}
return 0;
}
int ASB(int score[][N],float sb[N],int b[],int n)
{
int i,m;
for(m=0;m<N;m++)
{
for(i=0;i<n;i++)
{
b[m]+=score[i][m];
}
sb[m]=(float)(b[m])/n;
}
return 0;
}
int printf(int score[][N],float sb[N],float st[],long XH[],int t[],int b[],int n)
{
int i,j;
printf("Counting Result:\n");
printf("Student's ID\t MT\n EN\n PH\n Sum\t Aver\n");
for(i=0;i<N;i++)
{
printf("% 121d\t",XH[i]);
for(j=0;j<n;j++)
{
printf("% 4d\t",score[j][i]);
}
printf("% 4d\t% 5.1f\n",t[i],t[i]);
}
printf("SumOfCourse\t");
for(j=0;j<N;j++)
{
printf("% 4d\t",b[j]);
}
printf("\nAverOfCourse\t");
for(j=0;j<N;j++)
{
printf("% 4.1f\t",sb[j]);
}
printf("\n");
}
#define N 3
#define M 40
int Read(int score[][N],long XH[]); /* return 为1 ?*/
int AST(int score[][N],float st[],int t[],int n); /*return 为o ?*/
int ASB(int score[][N],float sb[N],int b[],int n);
int printf(int score[][N],float sb[N],float st[],long XH[],int t[],int b[],int n);
main()
{
int n=0;
int score[M][N],t[M],b[M];
long XH[M];
float st[M];
float sb[N];
n=Read(score,XH);
AST(score,st,t,n);
ASB( score,sb,b,n);
printf( score,sb,st,XH,t,b,n);
return 0;
}
int Read(int score[][N],long XH[])
{
int n,i,m;
printf("input n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("enterthenum:");
scanf("%1d",&XH[i]);
printf("enter the score as MT EN PH:");
for(m=0;m<N;m++)
{
scanf("%d",&score[i][m]);
}
}
i=i+1;
return i;
}
int AST(int score[][N],float st[],int t[],int n)
{
int i,m;
for(i=0;i<n;i++)
{
for(m=0;m<N;m++)
{
t[i]+=score[i][m];
}
st[i]=(float)(t[i])/n;
}
return 0;
}
int ASB(int score[][N],float sb[N],int b[],int n)
{
int i,m;
for(m=0;m<N;m++)
{
for(i=0;i<n;i++)
{
b[m]+=score[i][m];
}
sb[m]=(float)(b[m])/n;
}
return 0;
}
int printf(int score[][N],float sb[N],float st[],long XH[],int t[],int b[],int n)
{
int i,j;
printf("Counting Result:\n");
printf("Student's ID\t MT\n EN\n PH\n Sum\t Aver\n");
for(i=0;i<N;i++)
{
printf("% 121d\t",XH[i]);
for(j=0;j<n;j++)
{
printf("% 4d\t",score[j][i]);
}
printf("% 4d\t% 5.1f\n",t[i],t[i]);
}
printf("SumOfCourse\t");
for(j=0;j<N;j++)
{
printf("% 4d\t",b[j]);
}
printf("\nAverOfCourse\t");
for(j=0;j<N;j++)
{
printf("% 4.1f\t",sb[j]);
}
printf("\n");
}
}