[问题] ITSA第24次第4题

楼主: ga544523 (美丽新世界)   2014-05-03 19:07:27
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
c++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
iostream
问题(Question):
http://truth.bahamut.com.tw/s01/201405/2827e54fa6e7853d0a80ffab1381d289.JPG
错误结果(Wrong Output):
http://truth.bahamut.com.tw/s01/201405/08372dfa3afb99c7500459ef7f41b9e9.JPG
程式码(Code):(请善用置底文网页, 记得排版)
#include<iostream>
using namespace std;
int main(){
char (*a)[50] = new char[100000][50];
char (*tmp)[50] = new char[100000][50];
long long (*b)= new long long[100000];
long long (*c)= new long long[100000];
long long d;
cin>>d;
for(int i=0;i<d;i++){
cin>>a[i];
cin>>b[i];
cin>>c[i];
}
for(int j=0;j<d-1;j++){
for(int i=0;i<d;i++){
if(b[i]<b[i+1]){
strcpy(tmp[i],a[i]);
strcpy(a[i],a[i+1]);
strcpy(a[i+1],tmp[i]);
swap(b[i],b[i+1]);
swap(c[i],c[i+1]);
}
if(b[i]==b[i+1]&&c[i]<c[i+1]){
strcpy(tmp[i],a[i]);
strcpy(a[i],a[i+1]);
strcpy(a[i+1],tmp[i]);
swap(b[i],b[i+1]);
swap(c[i],c[i+1]);}}}
for(int i=0;i<d;i++){
cout<<a[i]<<" ";}
delete [] a;
delete [] tmp;
delete [] b;
delete [] c;
return 0;}
补充说明(Supplement):
这是我的执行画面
http://truth.bahamut.com.tw/s01/201405/5baabcea5be42fd24b659947cde82090.JPG
是我搞错题目意思还是哪里打错了吗
测试没问题阿(应该巴.)
传上去却一直说错误
ptt好难用喔
作者: CaptainH (Cannon)   2014-05-03 19:10:00
1. 以空白隔开意味着最后一个人之后不应有空白2. 最后必须有换行字符 '\n'
楼主: ga544523 (美丽新世界)   2014-05-03 20:06:00
还是错误哈哈
作者: kkkmode (kkk)   2014-05-03 22:47:00
我觉得解法不够漂亮,写一个sort函式,然后先对人气排序再对薪资排序即可,不必比较薪资是否相等
楼主: ga544523 (美丽新世界)   2014-05-03 23:56:00
可是应该不影响结果巴,但我传上去他都说我错误答案,!@$@!

Links booklink

Contact Us: admin [ a t ] ucptt.com