多组输入,一个整数(3~20),表示输出的行数,也表示组成正方形边的“*”的数量。
针对每行输入,输出用“*”组成的“空心”正方形,每个“*”后面有一个空格。
4
* * * * * * * * * * * *
5
* * * * * * * * * * * * * * * *
int main() { int n; while (scanf("%d", &n) != EOF) { for (int i = 0; i < n; i++) { if (i == 0 || i == n - 1) { for (int j = 0; j < n; j++) { printf("* "); } printf("\n"); } else { printf("* "); for (int k = 0; k < n - 2; k++) { printf(" "); } printf("* \n"); } } } return 0; }
#include <stdio.h> int main() { int n = 0; while (scanf("%d", &n) != EOF) { //打印第一行 for(int j = 0; j < n; j++ ) printf("* "); printf("\n"); //打印中间n-2行 for(int i = 0; i< n-2; i++) { printf("* "); for(int j = 0; j < n - 2; j++) printf(" "); printf("*\n"); } //打印最后一行 for(int j = 0; j < n; j++ ) printf("* "); printf("\n"); } return 0; }
/*思路 : 可以把题目示例中的正方形看成 两个部分 行 为一部分 列为一部分 i和j为0的时候 打印一行或者一列 其次 当 i==n-1 , j==n-1 的时候 打印一行或者一列 1.i==0 的时候打印一整行2.j==0的时候打印一整列3.i==n-1 的时候 打印一个 4.j==n-1 的时候 打印一个 就可以看到绿色箭头所指的地方 正好就是j== 5-1=4 */ # include <stdio.h> int main () { int n=0; while(scanf("%d",&n)!=EOF) { int i =0; //控制行 for(i = 0; i < n; i++) { int j = 0; for(j = 0; j < n;j++) { // i和j为0的时候 打印一行或者一列 // 其次 当 i==n-1 , j==n-1 的时候 打印一行或者一列 if (i==0||j==0||i==n-1||j==n-1) { printf("* "); } else { printf(" "); } } printf("\n"); } } return 0; }
//BC111 空心正方形图案 #include "stdio.h" int main(){ int n; while((scanf("%d",&n))!=EOF){ for(int i=0;i<n;i++){//控制行 for(int j=0;j<n;j++){//控制列 if(i==0 || i==n-1 || j==0 || j==n-1){ printf("* "); } else{ printf(" ");//这里有三个空格 } } printf("\n"); } } return 0; }
#include <stdio.h> int main() { int input = 0; int i = 0; int j = 0; while (scanf("%d", &input) == 1) { for (i = 0; i < input; i++)//控制换行 { for (j = 0; j < input; j++)//控制输出 { if (i == 0 || i == input - 1 || j == 0 || j == input - 1) { printf("* "); } else { printf(" "); } } printf("\n"); } } return 0; }
#include<stdio.h> int main() { int n = 0; int i = 0; printf("请输入数字:>"); scanf_s("%d", &n); for (i = 0; i < n; i++) { int j = 0; for (j = 0; j < n; j++) { if (i == 0 || i == n - 1) { printf("* "); } else if (j == 0 || j == n - 1) printf("* "); else printf(" "); } printf("\n"); } return 0; }
#include <stdio.h> int main() { int size = 0; scanf("%d", &size); char arr[size][size]; for (int j = 0; j < size; j++) arr[0][j] = '*'; for (int i = 1; i < size - 1; i++) { arr[i][0] = '*'; for (int j = 1; j < size - 1; j++) arr[i][j] = ' '; arr[i][size - 1] = '*'; } for (int j = 0; j < size; j++) arr[size - 1][j] = '*'; for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { printf("%c ", arr[i][j]); } printf("\n"); } return 0; }
//i==0||i=n-1 //或j==0||j==n-1 #include <stdio.h> int main() { int n; while (scanf("%d", &n) != EOF) { 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("\n"); } } return 0; }