为何我的这个代码在dev c++上可以编译,在洛谷上就编译失败呢?请大佬指点。
查看原帖
为何我的这个代码在dev c++上可以编译,在洛谷上就编译失败呢?请大佬指点。
906837
csuzhang楼主2023/9/20 17:16
#include<iostream>
#include<string>
using namespace std;
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);
	}
}
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;
}

2023/9/20 17:16
加载中...