c 0 1考虑了 为什么过不了
查看原帖
c 0 1考虑了 为什么过不了
804490
qqqqewdwqew楼主2022/10/17 18:45
	#include <stdio.h>
	#include <string.h>
	#include <stdlib.h>
	void shan(char a[]){
		int i=0;
		for(int j=0;a[j]!='\0';j++){
			if(a[j]!=' '){
				a[i]=a[j];
				i++;
			}
		}
		a[i]='\0';
	}
		int main (){
		char a[40000];
		gets(a);
		shan(a);
		int len=strlen(a);
		for(int i=0;i<len-1;i++){
			char A[200];
			gets(A);
			shan(a);
			strcat(a,A);
		}
		printf("%d ",len);
	    int x=0,y=0,X=1;
		for(int i=0;a[i]!='\0';i++){
			if(a[i]=='0'){//计数 0 输出 1
				x++;
				if(y!=0&&X==0){
					printf("%d ",y);
					X=1;
					y=0;
				}
				else if(y!=0&&X==1){
					printf("0 %d ",y);
					y=0;
				}
			}
			if(a[i]=='1'){//计数1 输出 0
				y++;
				if(x!=0){
					printf("%d ",x);
					x=0;
					X=0;
				}
			}
		}
		if(x!=0) printf("%d",x);
		else if(y!=0) printf("%d",y);
	}//7 3 1 6 1 6 4 3 1 6 1 6 1 3 7
2022/10/17 18:45
加载中...