gpt4 book ai didi

c - 在 C 中制作带有星号的正方形

转载 作者:行者123 更新时间:2023-11-30 20:46:15 24 4
gpt4 key购买 nike

我是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;
}

谢谢!! 它应该完全像

                           *****
* *
* *
* *
*****

最佳答案

由于您希望创建一个星号空心方形:

考虑如何创建它。经过一番思考,你会意识到:

  1. 第一行和最后一行都是星号。
  2. 对于所有其他行,这些行的第一列和最后一列都是星号。
  3. 其他一切都是空格。

使用它,我们可以构造:

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com