本文主要是介绍HUD 1106 排序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
虽然说这是个水题吧!但是并没有想象中的那么水!!!容易错!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;}
还有好的方法欢迎指教!
这篇关于HUD 1106 排序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!