一、概念
/*
for (初始化表达式; 条件表达式 ;循环后增值表达式) {
}
尖尖朝上 : 修改内循环的 条件表达式
尖尖朝下 : 修改内循环的 初始化表达式
---
1.倒三角形
***
**
*
for (int i = 0; i < 3; i++) {
for (int j = i; j < 3; j++) {
printf("*");
}
printf("\n");
}
---
2.正三角形
for (int i = 0; i < 3; i++) {
for (int j = 0; j <= i; j++) {
printf("*");
}
printf("\n");
}
*/
二、代码
#include <stdio.h>
int main()
{
#pragma mark 1.倒三角形
/*
***
**
*
*/
// 只要以后看到很多行多列, 那么第一时间就要想到循环嵌套
// 定义一个变量保存当前输出的星星的个数
#pragma 1.写法1
/*
int count = 3;
for (int i = 0; i < 3; i++) {
printf("count = %i\n",count);
for (int j = 0; j < count; j++) {
printf("*");
}
printf("\n");
count --; // 每输出一行就让列数减1
}
*/
#pragma 1.写法2
/*
int count = 0;
for (int i = 0; i < 3; i++) {
printf(" i = %i ",i);
printf(" count = %i ",count);
for (int j = count; j < 3; j++) {
printf("*");
}
printf("\n");
count ++;
}
*/
#pragma 1.写法3
/*
for (int i = 0; i < 3; i++) {
printf(" i = %i ",i);
for (int j = i; j < 3; j++) {
printf("*");
}
printf("\n");
}
*/
#pragma mark 2.正三角形
/*
*
**
***
*/
#pragma 1.写法1
/*
int count = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j <= count; j++) {
printf("*");
}
printf("\n");
count++;
}
*/
for (int i = 0; i < 3; i++) {
for (int j = 0; j <= i; j++) {
printf("*");
}
printf("\n");
}
/*
for (初始化表达式; 条件表达式 ;循环后增值表达式) {
}
尖尖朝上 : 修改内循环的 条件表达式
*
**
***
for (int i = 0; i < 3; i++) {
for (int j = 0; j <= i; j++) {
printf("*");
}
printf("\n");
}
尖尖朝下 : 修改内循环的 初始化表达式
for (int i = 0; i < 3; i++) {
for (int j = i; j < 3; j++) {
printf("*");
}
printf("\n");
}
*/
return 0;
}