为什么这道题不让用scanf
  • 板块B2083 画矩形
  • 楼主MuLinnnnn
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/1/25 17:40
  • 上次更新2023/10/24 03:06:50
查看原帖
为什么这道题不让用scanf
757040
MuLinnnnn楼主2023/1/25 17:40
#include <iostream>
#include <cstdio>
using namespace std;
char a[105][105];

int main() {
	int x,y;
	char c;
	int f;
//	scanf("%d %d %c %d",&x,&y,&c,&f);
//	cout << x << ' ' << y << ' ' << c << ' ' << f;
	cin >> x >> y >> c >> f;//这句话
	for(int i=0; i<x; i++) {
		for(int j=0; j<y; j++) {
			a[i][j]=c;
		}
	}
	if(f!=0) {
		for(int i=0; i<x; i++) {
			for(int j=0; j<y; j++) {
				printf("%c",a[i][j]);
			}
			putchar('\n');
		}
		return 0;
	}
	for(int i=1; i<x-1; i++) {
		for(int j=1; j<y-1; j++) {
			a[i][j]=' ';
		}
	}
	for(int i=0; i<x; i++) {
		for(int j=0; j<y; j++) {
			printf("%c",a[i][j]);
		}
		putchar('\n');
	}
	return 0;
}

用上面这个代码能得100

#include <iostream>
#include <cstdio>
using namespace std;
char a[105][105];

int main() {
	int x,y;
	char c;
	int f;
	scanf("%d %d %c %d",&x,&y,&c,&f);//这句话
//	cout << x << ' ' << y << ' ' << c << ' ' << f;
//	cin >> x >> y >> c >> f;
	for(int i=0; i<x; i++) {
		for(int j=0; j<y; j++) {
			a[i][j]=c;
		}
	}
	if(f!=0) {
		for(int i=0; i<x; i++) {
			for(int j=0; j<y; j++) {
				printf("%c",a[i][j]);
			}
			putchar('\n');
		}
		return 0;
	}
	for(int i=1; i<x-1; i++) {
		for(int j=1; j<y-1; j++) {
			a[i][j]=' ';
		}
	}
	for(int i=0; i<x; i++) {
		for(int j=0; j<y; j++) {
			printf("%c",a[i][j]);
		}
		putchar('\n');
	}
	return 0;
}

而用这个却得了40

请大佬帮忙解释一下,是我的scanf写错了吗

2023/1/25 17:40
加载中...