#include <stdio.h> int main() { int n = 0; while (scanf("%d", &n) != EOF) { //打印n行 for(int i = 0; i < n ; i++) { for(int j = 0; j < n - i -1; j++) printf(" "); printf("*\n"); } } return 0; }
/*思路 : 由题目的输出示例可以看出 也是由空格和星号组成 输入 4 空格数分别是:3 2 1 0 星号数都是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; //打印每行的空格 //n-i-1 的思路 由示例可以看出 空格是慢慢减少的 //而i也是逐渐变化的 //假如用户输入4 第一行就是3个空格 //首先肯定能想到 是根据n来改变的 写成n-1的话始终都是三 //如果再减去一个i的话 那就可以这样计算 符合题意4-0-1=3 //第二行 4-1-1=2 第三行 4-2-1=1 第四行 4-3-1=0 for(j = 0; j< n-i-1;j++) { printf(" "); } printf("*\n"); } } return 0; }
#include<stdio.h> int main() { int num = 0; while(scanf("%d",&num)!=EOF) { getchar(); for(int i = 0;i < num;i++) { for(int j = 1;j < num - i;j++) printf(" "); printf("*\n"); } } return 0; }