SOS 错哪了?

latofi 2008-12-27 04:32:46
输出总平均分和第2个学生的成绩.

#include <stdio.h>

void average(float *p,int n);
void search(float (*p)[4],int n);

int main()
{
float score[3][4]={{65,67, 70,60},
{80,87, 90,81},
{90,99,100,98}};

average(*score,12);
search(score,2);
}

void average(float *p,int n)
{
float aver,sum=0;
float *p_end;
p_end=p+n;
for(;p<p_end;p++)
sum+=(*p);
aver=sum/12;
printf(average is %5.2f\n",aver);
}

void search(float (*p)[4],int n)
{
int i;
for(i=0;i<4;i++)
printf("%5.2f ",*(*(p+n)+i));
}

VC6:

Compiling...
1.c
D:\1.c(24) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'void (__cdecl *)(float *,int )'
D:\1.c(24) : warning C4024: 'printf' : different types for formal and actual parameter 1
D:\1.c(24) : error C2146: syntax error : missing ')' before identifier 'is'
D:\1.c(24) : error C2017: illegal escape sequence
D:\1.c(24) : error C2001: newline in constant
D:\1.c(30) : error C2065: 'i' : undeclared identifier
D:\1.c(31) : error C2100: illegal indirection
Error executing cl.exe.

1.obj - 5 error(s), 2 warning(s)


...全文
59 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
breezes2008 2008-12-27
  • 打赏
  • 举报
回复
#include <stdio.h>

void average(float *p,int n);
void search(float (*p)[4],int n);

int main()
{
float score[3][4]={{65,67, 70,60},
{80,87, 90,81},
{90,99,100,98}};

average(*score,12);/*此处改为:average(*score,sizeof(score)/sizeof(float));更好些*/
search(score,2);
}

void average(float *p,int n)
{
float aver,sum=0;
float *p_end;
p_end=p+n;
for(;p<p_end;p++)
sum+=(*p);
aver=sum/n; /*把12改为n比较好吧?*/
printf("average is %5.2f\n",aver);/*忘记加"号*/
}

void search(float (*p)[4],int n)
{
int i;
for(i=0;i<4;i++)
printf("%5.2f ",*(*(p+n-1)+i));/*C语言以0为开始,注意下标*/
}

liuqiang3667 2008-12-27
  • 打赏
  • 举报
回复
printf少写 " 了!
yangkunhenry 2008-12-27
  • 打赏
  • 举报
回复
printf(average is %5.2f\n",aver);
printf("average is %5.2f\n",aver);
lockhall 2008-12-27
  • 打赏
  • 举报
回复

#include <stdio.h>

void average(float *p,int n);
void search(float (*p)[4],int n);

int main()
{
float score[3][4]={{65,67, 70,60},
{80,87, 90,81},
{90,99,100,98}};

average(*score,12);
search(score,2);

return 0; // Add 1
}

void average(float *p,int n)
{
float aver,sum=0;
float *p_end;
p_end=p+n;
for(;p<p_end;p++)
sum+=(*p);
aver=sum/12;
printf("average is %5.2f\n",aver); //Modify 2
}

void search(float (*p)[4],int n)
{
int i;
for(i=0;i<4;i++)
printf("%5.2f ",*(*(p+n)+i));
}

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧