题目大意:已知一个由立方体搭建的长宽高都不超过n的图像每个位置立方体的数量,输出三视图,看到立方体输出*,否则输出.
正视图:第一列的*数量,取决于第一列的最大立方体数量,第2-n列以此类推。
左视图:第一列的*数量,取决于第一行的最大立方体数量,第2-n列于对应的2-n行的最大值相关。
俯视图:有立方体就是*,否则是.
注意输出顺序,先输出第一行,也就是先输出最高的,循环从大到小。
#include <stdio.h>
int n, m, i, j, k, p[1005][1005];
int gao[1005], zuo[1005];
int main(){
scanf("%d", &n);
for(i=1; i<=n; i++){
for(j=1; j<=n; j++){
scanf("%d", &p[i][j]);
if(p[i][j] > gao[j]) gao[j] = p[i][j];
if(p[i][j] > zuo[i]) zuo[i] = p[i][j];
}
}
for(i=n; i>=1; i--){//高
for(j=1; j<=n; j++){
printf("%c", gao[j]>=i?'*':'.');
}
printf("\n");
}
for(i=n; i>=1; i--){//高
for(j=1; j<=n; j++){
printf("%c", zuo[j]>=i?'*':'.');
}
printf("\n");
}
for(i=1; i<=n; i++){
for(j=1; j<=n; j++){
printf("%c", p[i][j]?'*':'.');
}
printf("\n");
}
return 0;
}


京公网安备 11010502036488号