Вложенные циклы
Do
оператор;
while (условие);
где оператор – это простой, составной или пустой оператор.
Оператор do–while – оператор цикла с постусловием, т.е. сначала выполняется оператор, а затем проверяется условие на истинность. Так как в цикле do–while условие проверяется в конце цикла, то цикл будет выполнен хотя бы один раз.
В циклах типа while и do–while допустимы те же способы досрочного выхода из цикла и досрочное завершение текущего шага цикла, как и в операторе for, но в последнем случае в отличие от цикла for управление передается на проверку условия. Для предотвращения бесконечного цикла, внутри циклов while и do–while нужно предусмотреть изменение переменных, входящих в условие.
Например:
int i;
for (i=1;i<=300;i++) /* печать целых чисел, кратных 5 */
{
if (i%5!=0) continue;
printf(“%5d”,i);
}
В случае вложенных циклов один цикл находится внутри другого, например:
for(i=nn;i<nk;i++)
for(j=mn;j<mk;j++)
оператор;
где оператор – это простой, составной или пустой оператор. Внутренний цикл будет выполняться для каждого значения параметра i, удовлетворяющего условию внешнего цикла.
|
|
Пример: int i,j;
for(i=1;i<10;i++) /* печать таблицы умножения */
{ /* целых чисел */
for(j=1;j<4;j++)
printf(“\n %d*%d=%2d”, i, j, i*j);
printf(“\n”);
}
Вычислить . На печать программа должна выводить промежуточные и окончательный результаты.
Текст программы может иметь вид:
#include <stdio.h>
#include <conio.h>
void main(void)
{
float s;
int k,N;
clrscr();
puts(“Введите N”);
scanf(“%d”,&N);
for (s=0, k=1; k<=N; k++)
{
s+=1.0/k;
printf(" \n k=%d s=%f ", k, s);
}
printf("\n ОТВЕТ: s=%f, Press any key...",s);
getch();
}