为何我的这个代码在dev c++上可以编译,在洛谷上就编译失败呢?请大佬指点。

P5741 【深基7.例10】旗鼓相当的对手 - 加强版

尝试把 ~~~cpp void paiming(int *a,int (*p)[3],int n,string *q); ~~~ 改到main函数前面。
by Robots75 @ 2023-09-20 17:26:27


@[csuzhang](/user/906837)
by Robots75 @ 2023-09-20 17:40:45


不提前声明的吗
by x_UwT @ 2023-09-20 18:08:17


这样吗?这样是20分,我同学说似乎是出错在名字上 ```cpp #include<iostream> #include<string> using namespace std; void paiming(int *a,int (*p)[3],int n,string *q) { string mark=q[0]; int b[3]; b[0]=p[0][0]; b[1]=p[0][1]; b[2]=p[0][2]; for(int i=0;i<n-1;i++){ for(int j=0;j<n-i-1;j++){ if(a[j]<a[j+1]){ mark=q[j+1]; q[j]=q[j+1]; q[j+1]=mark; b[0]=p[j+1][0]; p[j][0]=p[j+1][0]; p[j+1][0]=b[0]; b[1]=p[j+1][1]; p[j][1]=p[j+1][1]; p[j+1][1]=b[1]; b[2]=p[j+1][2]; p[j][2]=p[j+1][2]; p[j+1][2]=b[2]; } } } b[0]=p[0][0]; b[1]=p[0][1]; b[2]=p[0][2]; mark=q[0]; cout<<mark<<" "<<b[0]<<" "<<b[1]<<" "<<b[2]<<endl; } int main() { int n; while(cin>>n){ string name[n]; int grade[n][3]; int sum[n]; for(int i=0;i<n;i++){ cin>>name[i]; cin>>grade[i][0]>>grade[i][1]>>grade[i][2]; sum[i]=grade[i][0]+grade[i][1]+grade[i][2]; } // cout<<name[0]; void paiming(int *a,int (*p)[3],int n,string *q); paiming(sum,grade,n,name); } } ```
by csuzhang @ 2023-09-20 21:36:05


|