《算法笔记》3.3小节——入门模拟->图形输出
PTA B1036 跟奥巴马一起编程 (15分)
#include <stdio.h>
#include <string.h>
int main() {
int row, col;
char a;
scanf("%d %c", &col, &a);
if (col % 2 == 0) row = col / 2;
else row = col / 2 + 1;
//整数除以2 的四舍五入取整 求法
for (int i = 0; i < row; i++) {
if (i == 0 || i == row-1) {
for (int j = 0; j < col; j++) {
printf("%c", a);
}
printf("\n");
}
else {
for (int j = 0; j < col; j++) {
if (j == 0 || j == col-1) printf("%c", a);
else printf(" ");
}
printf("\n");
}
}
return 0;
}
1933 Problem A 输出梯形
#include <stdio.h>
#include <string.h>
int main() {
int h = 0;
while (scanf("%d", &h) != EOF) {
for (int i = 0; i < h; i++) {
for (int j = 0; j < (3 * h - 2); j++) {
if (j < (2 * h - 2 * (i + 1))) printf(" ");
else printf("*");
}
printf("\n");
}
}
return 0;
}
1993 Problem B Hello World for U
#include <stdio.h>
#include <string.h>
int main() {
char a[1000];
scanf("%s", &a);
int N = strlen(a);
int n1=0, n2=0, n3=0;
n1 = (N + 2) / 3; n3 = n1;
n2 = N-(n1+n3)+2;
for (int i = 0; i < n1-1; i++) {
for (int j = 0; j < n2; j++) {
if (j == 0) printf("%c", a[i]);
else if (j == n2 - 1) printf("%c\n", a[N-1-i]);
else printf(" ");
}
}
for (int i = 0; i < n2; i++) {
printf("%c", a[n1 - 1 + i]);
}
printf("\n");
return 0;
}
2003 Problem C 等腰梯形
#include <stdio.h>
#include <string.h>
int main() {
int m = 0;
scanf("%d", &m);
while (m--) {
int h;
scanf("%d", &h);
for (int i = 0; i < h; i++) {
for (int j = 0; j < (3 * h - 2); j++) {
if (j < (h - 1 - i) || j>=(2 * h + i - 1)) printf(" ");
else printf("*");
}
printf("\n");
}
}
return 0;
}
2506 Problem D 沙漏图形 tri2str [1*+]
codeup通过30%,未找到原因
#include <stdio.h>
#include <string.h>
int main() {
int n= 0;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
for (int j = 0; j < 2 * n - 1; j++) {
if (j < i || j >= 2*n - i - 1) {
printf(" ");
}
else {
if ((i + j) % 2 == 0) printf("*");
else printf(" ");
}
}
printf("\n");
}
for (int i = 1; i < n; i++) {
for (int j = 0; j < 2 * n - 1; j++) {
if (j < (n - i - 1) || j >= n + i) {
printf(" ");
}
else {
if ((i + j) % 2 == 0) printf("*");
else printf(" ");
}
}
printf("\n");
}
return 0;
}