炫意html5
最早CSS3和HTML5移动技术网站之一

C语言循环结构 -C语言输出n行n列星号

这是一个C语言 for 循环嵌套的示例:给定一个自然数 n,在屏幕输出 n 行 n 列图形(见图 1)。

输出结果
图 1:输出结果

问题分析

这是个打印图形问题,一般按行和列分别处理,找出每一行和每一列的规律,然后按行输出。

根据题意,总共输出 n 行,第 i 行中首先输出(n-i)个空格,然后输出 i 个。用变量 i 控制循环 n 次,输出 n 行;用变量 j 控制循环(n-i)次,输出(n-i)个空格;继续用变量 j 控制循环 i 次,输出 i 个

算法描述

1) 输入 n 的值;
2) 重复处理 n 行的操作(行号 i 从 1 至 n):
重复处理 n 列的操作(列号 j 从 1 至 n-i):输出空格“ ”;
重复处理 n 列的操作(列号 j 从 1 至 i):输出“*”;
输出换行符(表示该行结束);
3) 结束。

代码清单 1:输出由“*”构成的 n 行 n 列的图形

#include <stdio.h>
#include <stdlib.h>
int main( )
{
int n,i,j;
printf("输入一个整数:");
scanf("%d",&n);
for(i=1;i<=n;i++)         //控制行的输出
{
for(j=1;j<=n-i;j++)  //控制列的输出
printf(" ");    //每一列打印n-i个空格
for(j=1;j<=i;j++)    //控制列的输出
printf("*");    //每一列打印i个“*”
printf("\n");        //当前行结束,输出换行符
}
system("pause");
return 0;
}

运行结果为:

输入一个整数:5
    *
   **
  ***
 ****
*****

图 2 展示了代码清单 1 在运行过程中变量 i 和 j 的变化情况。

代码清单 1 中变量 i 和 j 的变化情况
图 2:代码清单 1 中变量 i 和 j 的变化情况

知识点总结

  1. 如果想循环特定的次数,就使用嵌套的 for 循环语句。
  2. 想通过循环来递增或递减变量时,就可以使用 for 循环。
  3. 嵌套在内层的 for 循环语句要执行外层循环变量 i 所指定的次数。

炫意HTML5 » C语言循环结构 -C语言输出n行n列星号

Java基础教程Android基础教程