欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Runtime Error VS Accepted (大整数排序 )

发布时间:2024/7/19 编程问答 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Runtime Error VS Accepted (大整数排序 ) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

读入字符串的两种不同方式导致两个截然不同的提交结果。。

http://ac.jobdu.com/problem.php?pid=1190

下面这个代码提交结果是是Accepted

#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std;struct BigNum {int len;char str[1010]; }bigNum[110];int cmp(const BigNum& a,const BigNum& b) {if(a.len!=b.len)return a.len<b.len;elsereturn strcmp(a.str,b.str)<0; }int main(void) {int i,n;while(scanf("%d",&n)!=EOF){//getchar();for(i=0;i<n;i++){//gets(bigNum[i].str);scanf("%s",bigNum[i].str);bigNum[i].len=strlen(bigNum[i].str);}sort(bigNum,bigNum+n,cmp);for(i=0;i<n;i++)puts(bigNum[i].str);}return 0; }

下面这个代码提交结果是是Runtime Error

#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std;struct BigNum {int len;char str[1010]; }bigNum[110];int cmp(const BigNum& a,const BigNum& b) {if(a.len!=b.len)return a.len<b.len;elsereturn strcmp(a.str,b.str)<0; }int main(void) {int i,n;while(scanf("%d",&n)!=EOF){getchar();for(i=0;i<n;i++){gets(bigNum[i].str);//scanf("%s",bigNum[i].str);bigNum[i].len=strlen(bigNum[i].str);}sort(bigNum,bigNum+n,cmp);for(i=0;i<n;i++)puts(bigNum[i].str);}return 0; }

至今还是不明白这是为什么,哎。。。

总结

以上是生活随笔为你收集整理的Runtime Error VS Accepted (大整数排序 )的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。