|
10鱼币
- #include<stdio.h>
- #include<stdlib.h>
- #include<conio.h>
- #include<ctype.h>
- #include<string.h>
- #define N 50
- int main()
- {
- int b[N]={0,0,1,2,2,3,4,4,4,4,5,5,5,5,6,7,8,8,9,9};
- int times[N]={0};
- int i,j,k=0,count,n=N;
- for(i=0; i<n; i++)
- {
- count=1;
- for(j=i; j<n; j++)
- {
- if(b[j]==b[j+1])
- count++;
- else
- {
- times[k++]=count;
- i=j;
- break;
- }
- }
- if(b[n-1]!=b[n-2] && i==n-1)
- times[k++]=count;
- }
- j=1;
- for(i=1; i<n; i++)
- {
- if(b[j-1]!=b[i])
- b[j++]=b[i];
- }
- for(i=0; i<k; i++)
- printf("%d ³öÏÖ %d´Î\n",b[i],times[i]);
- }
复制代码
本帖最后由 jackz007 于 2019-2-26 11:00 编辑
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- #define N 50
- int main()
- {
- int b[N]={0 , 0 , 1 , 2 , 2 , 3 , 4 , 4 , 4 , 4 , 5 , 5 , 5 , 5 , 6 , 7 , 8 , 8 , 9 , 9} ;
- int times[N] = {0} ;
- int i , k = 1 ;
- times[k - 1] = 1 ;
- for(i = 1 ; i < N ; i ++) {
- if (b[i] == b[k - 1]) times[k - 1] ++ ; // 目标元素与当前备案比较,如果相同则计数值增 1
- else {
- if (b[i] < b[k - 1]) break ; // 如果目标元素比当前备案值小则结束循环
- else {
- k ++ ; // 目标元素与备案元素不同,备案索引 k 增 1
- b[k - 1] = b[i] ; // 为新元素建立备案
- times[k - 1] = 1 ; // 把新元素出现的次数初始化为 1
- }
- }
- }
- for(i = 0 ; i < k ; i ++) printf("%d 出现 %d次\n" , b[i] , times[i]) ;
- }
复制代码
运行情况:
G:\[2019]\00.00.Exercise\C\Count>x
0 出现 2次
1 出现 1次
2 出现 2次
3 出现 1次
4 出现 4次
5 出现 4次
6 出现 1次
7 出现 1次
8 出现 2次
9 出现 2次
G:\[2019]\00.00.Exercise\C\Count>
|
-
最佳答案
查看完整内容
运行情况:
G:\[2019]\00.00.Exercise\C\Count>x
0 出现 2次
1 出现 1次
2 出现 2次
3 出现 1次
4 出现 4次
5 出现 4次
6 出现 1次
7 出现 1次
8 出现 2次
9 出现 2次
G:\[2019]\00.00.Exercise\C\Count>
|