
同一c程序在c-free中和vc++6.0中都有错误,不知道怎么改,有谁可以帮我看一下吗,谢谢~~
#include<stdio.h>#defineN10#defineM5floatscore[N][M];floata_stu[N],a_cour[M];intr,c;v...
#include<stdio.h>
#define N 10
#define M 5
float score[N][M];
float a_stu[N],a_cour[M];
int r,c;
void main()
{
int i,j;
float h;
float s_var(void);
float highest();
void input_stu(void);
void aver_stu(void);
void aver_cour(void);
input_stu();
aver_stu();
aver_cour();
printf("\n No.cour1 cour2 cour3 cour4 cour5 aver\n");
for(i=0;i<N;i++)
{
printf("No.%2d",i++);
for(j=0;j<M;j++)
printf("%8.2f",score[i][j]);
printf("%8.2f\n",a_stu[i]);
}
printf("\n average:");
for(j=0;j<M;j++)
printf("%8.2f",a_cour[j]);
printf("\n");
h=highest();
printf("highest:%7.2f No.%2d course%2d\n",h,r,c);
void input_stu(void)
{
int i,j;
for(i=0;i<N;i++)
{
printf("\n input score of student%2d:\n",i++);
for(j=0;j<M;j++)
scanf("%f",&score[i][j]);
}
}
void aver_stu(void)
{
int i,j;
float s;
for(i=0,s=0;j<M;j++)
s+=score[i][j];
a_stu[i]=s/5.0;
}
}
void aver_cour(void)
{
int i,j;
float s;
for(j=0;j<M;j++)
{
s=0;
for(i=0;i<N;i++)
s+=score[i][j];
a_cour[j]=s/(float)N;
}
}
float highest()
{
float high;
int i,j;
high=score[0][0];
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(score[i][j]>high)
{
high=score[i][j];
r=i+1;
c=j+1;
}
return(high);
}
float s_var(void)
{
int i,j;
{
int i;
float sumx,sumxn;
sumx=0.0;
sumxn=0.0;
for(i=0;i<N;i++)
{
sumx+=a_stu[i]*a_stu[i];
sumxn+=a_stu[i];
}
return(sumx/N-(sumxn/N)*(sumxn/N));
}
}
在c-free中调试错误是
检查文件依赖性...
正在编译 C:\Users\LiXiaoHan\Documents\C-Free\Temp\未命名1.cpp...
[Error] C:\Users\LiXiaoHan\Documents\C-Free\Temp\未命名1.cpp:8: error: `main' must return `int'
[Error] C:\Users\LiXiaoHan\Documents\C-Free\Temp\未命名1.cpp:33: error: a function-definition is not allowed here before '{' token
[Error] C:\Users\LiXiaoHan\Documents\C-Free\Temp\未命名1.cpp:43: error: a function-definition is not allowed here before '{' token
[Warning] C:\Users\LiXiaoHan\Documents\C-Free\Temp\未命名1.cpp:93:3: warning: no newline at end of file
构建中止 未命名1: 3 个错误, 1 个警告
在vc++6.0中是
--------------------Configuration: Cpp1 - Win32 Debug--------------------
Compiling...
Cpp1.cpp
C:\Users\LiXiaoHan\Desktop\Cpp1.cpp(34) : error C2601: 'input_stu' : local function definitions are illegal
C:\Users\LiXiaoHan\Desktop\Cpp1.cpp(44) : error C2601: 'aver_stu' : local function definitions are illegal
Error executing cl.exe.
Cpp1.obj - 2 error(s), 0 warning(s)
麻烦分别改一下撒~~非常感谢! 展开
#define N 10
#define M 5
float score[N][M];
float a_stu[N],a_cour[M];
int r,c;
void main()
{
int i,j;
float h;
float s_var(void);
float highest();
void input_stu(void);
void aver_stu(void);
void aver_cour(void);
input_stu();
aver_stu();
aver_cour();
printf("\n No.cour1 cour2 cour3 cour4 cour5 aver\n");
for(i=0;i<N;i++)
{
printf("No.%2d",i++);
for(j=0;j<M;j++)
printf("%8.2f",score[i][j]);
printf("%8.2f\n",a_stu[i]);
}
printf("\n average:");
for(j=0;j<M;j++)
printf("%8.2f",a_cour[j]);
printf("\n");
h=highest();
printf("highest:%7.2f No.%2d course%2d\n",h,r,c);
void input_stu(void)
{
int i,j;
for(i=0;i<N;i++)
{
printf("\n input score of student%2d:\n",i++);
for(j=0;j<M;j++)
scanf("%f",&score[i][j]);
}
}
void aver_stu(void)
{
int i,j;
float s;
for(i=0,s=0;j<M;j++)
s+=score[i][j];
a_stu[i]=s/5.0;
}
}
void aver_cour(void)
{
int i,j;
float s;
for(j=0;j<M;j++)
{
s=0;
for(i=0;i<N;i++)
s+=score[i][j];
a_cour[j]=s/(float)N;
}
}
float highest()
{
float high;
int i,j;
high=score[0][0];
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(score[i][j]>high)
{
high=score[i][j];
r=i+1;
c=j+1;
}
return(high);
}
float s_var(void)
{
int i,j;
{
int i;
float sumx,sumxn;
sumx=0.0;
sumxn=0.0;
for(i=0;i<N;i++)
{
sumx+=a_stu[i]*a_stu[i];
sumxn+=a_stu[i];
}
return(sumx/N-(sumxn/N)*(sumxn/N));
}
}
在c-free中调试错误是
检查文件依赖性...
正在编译 C:\Users\LiXiaoHan\Documents\C-Free\Temp\未命名1.cpp...
[Error] C:\Users\LiXiaoHan\Documents\C-Free\Temp\未命名1.cpp:8: error: `main' must return `int'
[Error] C:\Users\LiXiaoHan\Documents\C-Free\Temp\未命名1.cpp:33: error: a function-definition is not allowed here before '{' token
[Error] C:\Users\LiXiaoHan\Documents\C-Free\Temp\未命名1.cpp:43: error: a function-definition is not allowed here before '{' token
[Warning] C:\Users\LiXiaoHan\Documents\C-Free\Temp\未命名1.cpp:93:3: warning: no newline at end of file
构建中止 未命名1: 3 个错误, 1 个警告
在vc++6.0中是
--------------------Configuration: Cpp1 - Win32 Debug--------------------
Compiling...
Cpp1.cpp
C:\Users\LiXiaoHan\Desktop\Cpp1.cpp(34) : error C2601: 'input_stu' : local function definitions are illegal
C:\Users\LiXiaoHan\Desktop\Cpp1.cpp(44) : error C2601: 'aver_stu' : local function definitions are illegal
Error executing cl.exe.
Cpp1.obj - 2 error(s), 0 warning(s)
麻烦分别改一下撒~~非常感谢! 展开
4个回答
展开全部
void input_stu(void)
{
int i,j;
for(i=0;i<N;i++)
{
printf("\n input score of student%2d:\n",i++);
for(j=0;j<M;j++)
scanf("%f",&score[i][j]);
}
}
void aver_stu(void)
{
int i,j;
float s;
for(i=0,s=0;j<M;j++)
s+=score[i][j];
a_stu[i]=s/5.0;
} //这个大括号是多余的吧???
}
{
int i,j;
for(i=0;i<N;i++)
{
printf("\n input score of student%2d:\n",i++);
for(j=0;j<M;j++)
scanf("%f",&score[i][j]);
}
}
void aver_stu(void)
{
int i,j;
float s;
for(i=0,s=0;j<M;j++)
s+=score[i][j];
a_stu[i]=s/5.0;
} //这个大括号是多余的吧???
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main函数内部不可以定义其他函数,嵌套定义不支持
将下面代码从main中拿出去,放最后面吧
void input_stu(void)
{
int i,j;
for(i=0;i<N;i++)
{
printf("\n input score of student%2d:\n",i++);
for(j=0;j<M;j++)
scanf("%f",&score[i][j]);
}
}
void aver_stu(void)
{
int i,j;
float s;
for(i=0,s=0;j<M;j++)
s+=score[i][j];
a_stu[i]=s/5.0;
}
将下面代码从main中拿出去,放最后面吧
void input_stu(void)
{
int i,j;
for(i=0;i<N;i++)
{
printf("\n input score of student%2d:\n",i++);
for(j=0;j<M;j++)
scanf("%f",&score[i][j]);
}
}
void aver_stu(void)
{
int i,j;
float s;
for(i=0,s=0;j<M;j++)
s+=score[i][j];
a_stu[i]=s/5.0;
}
更多追问追答
追问
放到后面之后,还是有一个错误
[Error] C:\Users\LiXiaoHan\Documents\C-Free\Temp\未命名1.cpp:8: error: `main' must return `int'
这个要怎么改呀?
追答
void main()
改成 int main()
在它的后面大括号前加上return 0;
int main()
{
//原来的代码
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序我没看,c_free 的编译部件是MinGW,其编译器为gcc,和vc 的编译器是不一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
去你妈公司
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询