例6.2求∑100n=1n。
用传统流程图和NS结构流程图表示算法,见图6.2(a)和图6.2(b)。
根据流程图写出程序:
main()
{
int i,sum=0;
i=1;
while (i<=100)
{
sum=sum+i;
i++;
}
printf("%d",sum);
}
需要注意:
(1) 循环体如果包含一个以上的语句,应该用花括弧括起来,以复合语句形式出现。如果不加花括弧,则while语句的范围只到while后面第一个分号处。例如,本例中while语句中如无花括弧,则while语句范围只到“sum=sum+i;”。
(2) 在循环体中应有使循环趋向于结束的语句。例如,在本例中循环结束的条件是“i>100”,因此在循环体中应该有使i增值以最终导致i>100的语句,今用“i++;”语句来达到此目的。如果无此语句,则i的值始终不改变,循环永不结束。
用传统流程图和NS结构流程图表示算法,见图6.2(a)和图6.2(b)。
根据流程图写出程序:
main()
{
int i,sum=0;
i=1;
while (i<=100)
{
sum=sum+i;
i++;
}
printf("%d",sum);
}
需要注意:
(1) 循环体如果包含一个以上的语句,应该用花括弧括起来,以复合语句形式出现。如果不加花括弧,则while语句的范围只到while后面第一个分号处。例如,本例中while语句中如无花括弧,则while语句范围只到“sum=sum+i;”。
(2) 在循环体中应有使循环趋向于结束的语句。例如,在本例中循环结束的条件是“i>100”,因此在循环体中应该有使i增值以最终导致i>100的语句,今用“i++;”语句来达到此目的。如果无此语句,则i的值始终不改变,循环永不结束。