HUD 1106 排序

xiaoxiao2021-02-28  109

虽然说这是个水题吧!但是并没有想象中的那么水!!!容易错!WA了好几次!!

题目意思很明了,就不多说了!

有几个地方需要特别注意,我都是因为这几个地方WA的

1、注意开始、中间、最后5重叠的现象

2、注意 111115 以及555551这两组数据,特别容易忽视

3、对于像我这样的小菜鸟 在自己WA的情况下,又不知道自己哪里错了的前提下,千万千万别看被人的,别人的思路和你不同,小心被牵着鼻子走,最后自己的问题没解决,不了了之!!

#include<stdio.h> #include<string.h> int main(void) { char a[1001]; __int64 b[1000]; int i,s,x,j,l,temp; while(scanf("%s",&a)!=EOF) { s=strlen(a); j=0; x=0; for(i=0;i<s;i++) { if(a[i]=='5'&&a[i-1]!='5'&&i!=0) { b[j]=x; j++; x=0; } else if(a[i]!='5') { x=x*10+(a[i]-'0'); } if(a[i]!='5'&&i==s-1) { b[j]=x; j++; } } for(i=0;i<j-1;i++) { for(l=i+1;l<j;l++) { if(b[i]>b[l]) { temp=b[i]; b[i]=b[l]; b[l]=temp; } } } for(i=0;i<j-1;i++) { printf("%I64d ",b[i]); } printf("%I64d\n",b[j-1]); } return 0; } 还有好的方法欢迎指教!

转载请注明原文地址: https://www.6miu.com/read-68999.html

最新回复(0)