这道题不懂,怎么做
#include <stdio.h> int main() { int i, j, k; for(i=1; i<5; i++) { /* 观察每行的空格数量,补全循环条件 */ for(j=;j<;j++) { printf(" "); //输出空格 } /* 观察每行*号的数量,补全循环条件 */ for(k=;k<;k++) { printf("*"); //每行输出的*号 } printf("\n"); //每次循环换行 } return 0; }
#include <stdio.h> int main() { int i, j, k; for(i=1; i<5; i++) { /* 观察每行的空格数量,补全循环条件 */ for(j=;j<;j++) { printf(" "); //输出空格 } /* 观察每行*号的数量,补全循环条件 */ for(k=;k<;k++) { printf("*"); //每行输出的*号 } printf("\n"); //每次循环换行 } return 0; }
2016-02-19
当i=1时,第一个for循环, 表示第一行。然后第二个for循环,因为j<=4, j=i=1,所以第二个for循环需要运行四遍,输出四个空格。然后第三个for循环,k <= 2 * i - 1是规定运行几次,当i=1时,k<=1,因为k=1,所以第三个for循环运行一次,输出一个*号。所以第一行就是四个空格,一个*号。
当i=2时, 第一个for循环, 表示第二行。然后第二个for循环,因为j<=4, j=i=2,所以第二个for循环需要运行三遍,输出三个空格。然后第三个for循环,k <= 2 * i - 1是规定运行几次,当i=2时,k<=3,因为k=1,所以第三个for循环运行三次,输出三个*号。所以第二行就是三个空格,三个*号。
...........
以此类推
举报