本文共 371 字,大约阅读时间需要 1 分钟。
该题是对给定输入的一组数进行分组,与就是比较当前相邻两个数是否相同,如果相同则算在一组数中,如果不相同则把它分在两个数列中,并且增加统计数列分组值增加1.关键就在于比较当前数与下一个数是否相同,可是使用数组把全部数输入到数组中在利用数组位序增加的操作比较(关于对数组位序的讨论,查看我的另一篇博客:),但是我使用的时直接设置一个标志数,即首先读入一个数,然后再读入一个数比较,如果相同,接着读,如果不相同,则替换该标志值,并且继续向下读。这样算法时间与空间性能都更高。
#includeint main(){ int n,i,j,k; int num=0; scanf("%d",&n); //首先读入一个数,作为标志值 scanf("%d",&j); for(i=1;i
转载地址:http://kchbb.baihongyu.com/