Runtime Error VS Accepted (大整数排序 )
生活随笔
收集整理的這篇文章主要介紹了
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 (大整数排序 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 背包问题的应用
- 下一篇: 九度OJ最短摘要的生成