多组输入,一个整数(3~20),表示输出的行数,也表示组成三角形边的“*”的数量。
针对每行输入,输出用“*”组成的“空心”三角形,每个“*”后面有一个空格。
4
* * * * * * * * *
5
* * * * * * * * * * * *
int main() { int n; while (scanf("%d", &n) != EOF) { for (int i = 0; i < n; i++) { if (i < 2 || i == n - 1) { for (int j = 0; j < i + 1; j++) { printf("* "); } printf("\n"); } else { printf("* "); for (int j = 0; j < i - 1; j++) { printf(" "); } printf("*\n"); } } } return 0; }
#include <stdio.h> int main() { int n = 0; while (scanf("%d", &n) != EOF) { for(int i = 0; i < n ; i++) { for(int j = 0; j <= i; j++) { if(j == 0 || j == i || i == n - 1) printf("* "); else printf(" "); } printf("\n"); } } return 0; }
/*思路 : 由题目示例可以看出 可以由一个正方形砍去一半 所表示出来 i为行 j为列 当i==j的时候 就可以打印出一个星星加一个空格 当j 列为0 的时候 就可以打印出一列 当i==n-1 的时候 就可以把最下面的打印出来 */ # 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(int j = 0; j<n;j++) { //条件判断 i==j j==0 i==n-1 if (i==j||j==0||i==n-1) { printf("* "); } else { printf(" "); } } printf("\n"); } } return 0; }
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int n = 0; int i = 0; int j = 0; while (scanf("%d", &n) != EOF) { for (i = 0; i < n; i++)//控制行 { for (j = 0; j < n; j++)//控制列 { if (j == 0 || i == n - 1 || j == i) { printf("* "); } else { printf(" "); } } printf("\n"); } } return 0; }
#include <stdio.h> int main() { int n; while (scanf("%d", &n) != EOF) { //用第一层for循环实现n行。 for(int i = 1; i <= n; i++) { //第二层for循环实现每行输出,每行都比上一行多一个位置。 for(int j = 1; j <= i; j++) { //如果是第一行或最后一行,一直打印* 。 if((i == 1) || (i == n)){ printf("* "); } //其他行。 else{ //在第一个和最后一个位置打印* 。 if((j == 1) || (j == i)){ printf("* "); } //其他位置打印两个空格。 else{ printf(" "); } } } printf("\n");//每一行结束后换行。 } } return 0; }
#include <stdio.h> int main() { int n; while (scanf("%d", &n) != EOF) { for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { if (0 == j || i == j || i == n - 1) { printf("* "); } else { printf(" "); } } printf("\n"); } } return 0; }
#include<stdio.h> int main() { int n; while(scanf("%d", &n)!=EOF){ for (int i = 0; i < n; i++) { for (int j = 0; j <=i; j++) { if (i==j||j==0||i==n-1) { printf("* "); } else { printf(" "); } } printf("\n"); } } return 0; 萌新,掌握的不熟,把图案换成数字打印出来就知道那里要相等才打印字符了
#include <stdio.h> int main() { int n = 0; while (scanf("%d", &n) != EOF) { for (int i = 0; i < n; i++) { if (i == 0) { printf("* "); } else if (i == n - 1) { for (int j = 0; j < n; j++) { printf("* "); } } else { printf("* "); for (int j = 0; j < i - 1; j++) { printf(" "); } printf("* "); } printf("\n"); } } return 0; }
#include <stdio.h> int main() { int a; while (scanf("%d", &a) != EOF) { for (int i = 0; i < a; i++) { if (i < a - 1) { for (int j = 0; j <= i; j++) { if ((j == 0) || (j == i)) { printf("* "); } else { printf(" "); } } } else { for (int k = 0; k < a; k++) { printf("* "); } } printf("\n"); } } return 0; }