當前位置:成語大全網 - 新華字典 - 杭電1862EXCEL排序,我的代碼怎麽了?

杭電1862EXCEL排序,我的代碼怎麽了?

# include & ltstdio.h & gt

# include & ltiostream & gt

# include & lt算法& gt

使用?命名空間?std

int?c;

struct?A

{

int?n;

int?g;

夏爾?名稱[10];

}?a[110];

布爾?cmp(A?s,A?t)

{

如果(c==2)

{

如果(!strcmp(s.name,t.name))

回歸?s.n & ltt.n

不然呢?

回歸?strcmp(s.name,t . name)& lt;0;

}?

不然呢?如果(c==3)

{

如果(s.g==t.g)

回歸?s.n & ltt.n

其他

回歸?s.g & ltt.g//返回

}

不然呢?

回歸?s.n & ltt.n

}

int?主()

{

int?x=0,n,I;?//c?-& gt;?全球的

while(scanf("%d?%d ",& ampn & amp;c)!EOF & amp& ampn!=0)

{

for(I = 0;我& ltn;i++)

scanf("%d?%s?%d ",& amp甲[我]。n,a[i]。姓名& amp甲[我]。g);

printf("Case?%d:\n ",++ x);

sort(a,a+n,CMP);

for(I = 0;我& ltn;i++)

printf("%06d?%s?%d\n ",a[i]。n,a[i]。名字,壹個[我]。g);

}

回歸?0;

}錯誤1: C定義全局並全局使用。不要在本地定義,會被覆蓋;

錯誤2: CMP函數缺少返回值;在3;

優化建議:cmp函數使用地址轉移,節省空間,提高效率。