#26103: C language 簡易寫法


22207807 (會打Code的貓)

學校 : 逢甲大學
編號 : 156777
來源 : [140.134.241.201]
最後登入時間 :
2023-03-14 12:33:09
a746. 画蛇添足 | From: [114.137.225.202] | 發表日期 : 2021-07-16 16:52

#include<stdio.h>

int main () {

int n,m,x[600],y[600];

char s[600][600];

while(scanf("%d %d",&n,&m) != EOF) {

for(int i = 0; i < n+2; i++) { //統一先填入空白 

for(int j = 0; j < n+2; j++) {

s[i][j] = ' ';

}

}

for(int i = 0; i < n+2; i++) { // 填入邊框 

for(int j = 0; j < n+2; j++) {

if(j == 0 || j == n+1) {

s[i][j] = '|';

}

if(i == 0 || i == n+1) {

s[i][j] = '-';

}

}

}

for(int i = 0; i < m; i++) { //先記住位置 

scanf("%d %d",&x[i],&y[i]);

}

for(int i = 0; i < m-1; i++) { //要把目前位跟後一位連起來 

if(x[i] <= x[i+1] && y[i] <= y[i+1]) { //後面比前一位大時 

for(int j = x[i]; j <= x[i+1]; j++) {

for(int k = y[i]; k <= y[i+1]; k++) {

s[j][k] = '*';

}

}

}

if(x[i] >= x[i+1] && y[i] >= y[i+1]) { //後面比前一位小時 

for(int j = x[i+1]; j <= x[i]; j++) {

for(int k = y[i+1]; k <= y[i]; k++) {

s[j][k] = '*';

}

}

}

}

for(int i = 0; i < n+2; i++) { //印出 

for(int j = 0; j < n+2; j++) {

printf("%c",s[i][j]);

}

printf("\n");

}

}

return 0;

}

先把 - 跟 | 用出來,再用裡面的*

 
ZeroJudge Forum