C语言for多重循环语句
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
第1行前有四个空格,第2行前有三个,第3行前有两个空格,第四行前有一个空格,最后一行前没有空格了 她是成一个三角形排列 展开
作为示例,以求解下面数学式为例:
SUM = 1 - 3 + 5 - 7 + ...-99 + 101;
首先,需要分析数学规律,就数学式中每一项的绝对值而言,可以看成 a(n) = 2 * n - 1 其中,n = {1,2,3...51},而就每一项的符号而言,可以发现,当 n 为偶数时,对应的项为负号;当 n 为奇数时,对应项符号为正号。
编写如下代码:
#include <stdio.h>
int main()
{
int sum,s;
int i;
sum = 0;
for(i=1;i<52;i++)
{
if(i%2==0)
{
s = -1;
}
else
{
s = 1;
}
sum += (2*i-1)*s;
}
printf("sum of (1-3+5-7+...-99+101) is: %d\n",sum);
return 0;
}
其中,s 就是符号控制,其中for循环累加每一项。
解释说明:合理运用for循环可以简化代码设计,增强代码可读性,缩减代码篇幅,利用循环可以处理重复并且有规律性的问题,比如规则图形的打印,数组遍历、对象赋值等,合理运用for循环需要先理解for循环的语法:
for(表达式1;表达式2;表达式3)
{
循环体
}
void main()
{
int i,j,k;
for(i=1;i<=5;i++)
{
for(j=5;j>i;j--)
{
printf(" ");
}
for(k=1;k<=i;k++)
{
printf("%d",k);
}
printf("\n");
}
}
int main(){
int n;
for (n = 0; n < 5; n++){
int i;
for (i = 0; i < 4-n; i++) printf(" ");
for (i = 0; i <= n; i++) printf("%d ", i+1);
}
return 0;
}