我是C语言新手,请帮助我。 好吧,我正在编写一个代码来制作一个星号正方形。但我不知道如何完全制作正方形。这是我的代码:
#include<stdio.h>
int main(void){
int n;
for(n=1;n<5;n++){
printf("*");
}
for (n=1;n<4;n++){
printf("*\n");
}
for (n=1;n<=5;n++){
printf("*");
}
for(n=5;n<=1;n--){
printf("*\n");
}
getchar();
return 0;
}
谢谢!! 它应该完全像
*****
* *
* *
* *
*****
最佳答案
由于您希望创建一个星号空心方形:
考虑如何创建它。经过一番思考,你会意识到:
- 第一行和最后一行都是星号。
- 对于所有其他行,这些行的第一列和最后一列都是星号。
- 其他一切都是空格。
使用它,我们可以构造:
const int n = 5;
for(int i=0; i < n; i++) {
for(int j=0; j < n; j++) {
if (i == 0 || i == n - 1) {
printf("*");
}
else if(j == 0 || j == n - 1) {
printf("*");
}
else {
printf(" ");
}
printf(" ");
}
printf("\n");
}
可以将其放入 n*m
情况的通用解决方案中:
const int ROWS = 5;
const int COLS = 5;
for(int i=0; i < ROWS; i++) {
for(int j=0; j < COLS; j++) {
if (i == 0 || i == ROWS - 1) {
printf("*");
}
else if(j == 0 || j == COLS -1) {
printf("*");
}
else {
printf(" ");
}
printf(" ");
}
printf("\n");
}
关于c - 在 C 中制作带有星号的正方形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21638225/