题目
出下列程序的运行结果 main ( ) ( int i,j , k ; char space = ' ' ; for ( i = 1 ; i < = 3 ; i + + ) {for ( j = 1 ; j < = 10 - i ; j + + ) printf ( " % c " , space ) ; for ( k = 1 ; k < = 2 * i ; k + + ) printf ( " * " ) ; printf ( "n" ) ; ) }
出下列程序的运行结果
main ( )
{ int i,j , k ;
char space = ' ' ;
for ( i = 1 ; i < = 3 ; i + + )
{for ( j = 1 ; j < = 10 - i ; j + + )
printf ( " % c " , space ) ;
for ( k = 1 ; k < = 2 * i ; k + + )
printf ( " * " ) ;
printf ( "\n" ) ; } }
题目解答
答案
main ( ){ int i,j , k ; /*声明用来循环的自变量*/
char space = ' ' ; /*声明空格字符*/
for ( i = 1 ; i<= 3 ; i ++ ) /*输出三行*/
{for(j = 1;j<= 10 - i ; j ++ ) /*每行分别打印9 8 7个空格*/
printf("%c",space);
for(k=1;k<=2*i;k++) printf("*");/*这两个循环是并列的,每行打印完空格,则分别打印2 4 6个"*"符号
printf("\n");/*打印完一行后换行*/} }
解析
步骤 1:理解程序结构
程序使用了两个嵌套的for循环,外层循环控制行数,内层循环控制每行的空格和星号的打印。变量i控制行数,变量j控制空格的打印,变量k控制星号的打印。
步骤 2:分析外层循环
外层循环for (i = 1; i <= 3; i++)控制程序输出3行内容。
步骤 3:分析内层循环
内层循环for (j = 1; j <= 10 - i; j++)控制每行打印的空格数量,随着i的增加,空格数量减少。
内层循环for (k = 1; k <= 2 * i; k++)控制每行打印的星号数量,随着i的增加,星号数量增加。
步骤 4:输出结果
根据上述分析,程序将输出如下结果:
```
*
**
***
```
程序使用了两个嵌套的for循环,外层循环控制行数,内层循环控制每行的空格和星号的打印。变量i控制行数,变量j控制空格的打印,变量k控制星号的打印。
步骤 2:分析外层循环
外层循环for (i = 1; i <= 3; i++)控制程序输出3行内容。
步骤 3:分析内层循环
内层循环for (j = 1; j <= 10 - i; j++)控制每行打印的空格数量,随着i的增加,空格数量减少。
内层循环for (k = 1; k <= 2 * i; k++)控制每行打印的星号数量,随着i的增加,星号数量增加。
步骤 4:输出结果
根据上述分析,程序将输出如下结果:
```
*
**
***
```