萌新求助!!!C语言,全WA,找不到错误在哪里
查看原帖
萌新求助!!!C语言,全WA,找不到错误在哪里
807677
807677_zzxc楼主2022/10/23 22:37
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main() {
	int a[40000] = { 0 };//来保存点阵码
	int count = 0;//存个数
	int key = 0;//表示当前记0还是记1的个数
	int n;//记录点阵的N
	int i = 0;

	//实现对第一排的录入,break标志为读取到‘\n’
	while (1) {
		char p;
		p = getchar();
		if (p != '\n') {
			a[i] = p - '0';//将点阵值(0或1)录入到数组
			i++;//下一位
		}
		else {//读取到'\n'
			n = i;//记录点阵的N
			break;//跳出while
		}
	}

	//完成对剩下的点阵值的录入,结束标志是EOF
	for (i = n; i < n * n; ) {
		char p;
		if ((p = getchar()) == EOF) {
			break;
		}
		if (p != '\n') {
			a[i] = p - '0';//录入点阵值
			i++;//下一位
		}
	}
	printf("%d ", n);//打印点阵的N

	//从头遍历a数组,并计数0和1
	for (i = 0; i < n * n; i++) {
		if (key != a[i]) {//表示点阵值0、1的转变,将打印当前的计数,归零重新计数
			printf("%d ", count);
			key = a[i];
			count = 1;

		}
		else
			count++;//计数
	}
	//循环结束后还有最后一次的计数没有打印
	printf("%d", count);
	return 0;
}
2022/10/23 22:37
加载中...