Основы программирования на языке C


Применение функции scanf( ) - часть 2


printf("%d %d %5d\n",val1,val2, val3);

Результат выглядит так:

11 222 3333 4 5 23 22222 3332 11111

Эти же данные можно представить в улучшенном виде, если задать достаточно большую фиксированную ширину поля:

printf("%9d %9d %9d\n" val1,val2, val3);

Результат будет выглядеть так:

11 222 3333 4 5 23 22222 3332 11111

Если печатаемое число включено в некоторую фразу, то часто при его выводе оказывается удобным задать ширину поля равной или меньше требуемой. Это дает возможность включить число в фразу без добавления лишних пробелов.

А теперь рассмотрим два примера работы с циклом while:

/*квадраты чисел*/ main( ) /*получение квадратов*/ { int n=1; while(n < 11) { printf("%10d %10d\n", n, n*n); n=n+1; } }

Эта программа выводит на печать первые 10 чисел и их квадраты.

Второй пример.

Согласно легенде, один правитель обещал наградить ученого, оказавшего ему большую услугу. Ученый, когда его спросили, что бы он хотел получить в награду, указал на шахматную доску и сказал: "Положите одно пшеничное зерно на первую клетку, два - на вторую, четыре на третью, восемь на следующую и т.д." Правитель был поражен, услышав такую скромную просьбу. Программа, приведенная ниже, показывает, в какое положение попал правитель!

/* пшеница*/ #define NUMBER 64 /* число клеток на шахматной доске*/ #define CROP 7E14 /* весь урожай пшеницы, выраженный в числе зерен*/ main( ) { double current, total; int count =1; printf("КЛЕТКА ЧИСЛО СУММА ЗЕРЕН ДОЛЯ\n"); total = current = 1.0;/*начинаем с одного зерна*/ printf("%4d %15.2e %13.2e %12.2e\n",count, current, total, total/CROP); while(count < NUMBER) { count = count + 1; current = 2.0*current; /*удвоенное число зерен на следующей клетке */ total = total +current; /* коррекция суммы*/ printf ("%4d %15.2e %13.2e %12.2e\n",count, current, total, total/CROP); } }

Это пример составного оператора. От открывающей фигурной скобки оператора while до закрывающей фигурной скобки.




- Начало -  - Назад -  - Вперед -



Книжный магазин