多组输入,一个整数(3~20),表示输出的行数,也表示组成三角形边的“*”的数量。
针对每行输入,输出用“*”组成的“空心”三角形,每个“*”后面有一个空格。
4
* * * * * * * * *
5
* * * * * * * * * * * *
int main()
{
int i = 0;
int j = 0;
int n = 0;
int num = 5;
while (scanf("%d", &num) != EOF)
{
for (i = 0; i < num - 1; i++)
{
for (j = 0; j <= i; j++)
{
if (j == 0 || j == i)
{
printf("* ");
}
else
{
printf(" ");
}
}
printf("\n");
}
for (i = 0; i < num; i++)
{
printf("* ");
}
printf("\n");
}
return 0;
} 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;
萌新,掌握的不熟,把图案换成数字打印出来就知道那里要相等才打印字符了