Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Стандартный ввод-вывод

ТИПЫ, ОПЕРАЦИИ, ВЫРАЖЕНИЯ | Синтаксис и семантика операторов языка Си | Обработка числовых данных | Обработка символьных данных | ФУНКЦИИ И СТРУКТУРА ПРОГРАММЫ | УКАЗАТЕЛИ И МАССИВЫ | Основные сведения | Структуры и функции. Указатели на структуры. | Низкоуровневый ввод-вывод | Конвейер, перенаправление ввода-вывода |


Читайте также:
  1. Standard / Стандартный
  2. Ввод-вывод без продвижения
  3. Интерфейс, стандартный интерфейс, виды и структура интерфейсов.
  4. Низкоуровневый ввод-вывод
  5. Пегилированный и стандартный интерферон
  6. Сборнику присваиваются библиотечные индексы УДК, ББK и международный стандартный книжный номер (ISBN).
  7. Сборнику присваиваются библиотечные индексы УДК, ББK и международный стандартный книжный номер (ISBN).

 

7.1. Программа. Даны натуральные числа i, n (i £ n), вещественные числа a1, a2, …,an. Найти среднее арифметическое всех чисел, кроме ai.

 

7.2. Программа. Даны вещественные числа a1, a2, …,a50. Распечатать “сглаженные” значения a1, a2, …,a50, заменив в исходной последовательности все члены, кроме первого и последнего, по формуле

ai = (ai-1 + ai + ai+1)/3 i = 2, 3, …,49;

считая, что

a) после того, как получено новое значение некоторого члена последовательности, оно используется для вычисления нового значения следующего за ним члена последовательности;

b) при “сглаживании” используются лишь старые члены последовательности.

 

7.3. Программа. Даны вещественные числа a1, a2, … Известно, что a1 > 0 и что среди a2, a3, … есть хотя бы одно отрицательное число. Пусть a1, a2, …,an - члены данной последовательности, предшествующие первому отрицательному члену (n заранее неизвестно). Распечатать

a) a1 + a2 + … +an

b) a1 * a2 * …* an

c) среднее арифметическое a1, a2, …,an

d) a1, a1 * a2, a1 * a2 * a3,…, a1 * a2 * …* an

e) a1 + 2*a2 + 3*a3 + … + (n-1)*an-1 + …n*an

f) | a1 - a2 |, | a2 - a3 |, …, | an-1 - an |, | an - a1 |

 

7.4. Программа. Даны целые положительные числа n, a1, a2, …, an
(n ³ 4). Считать, что a1, a2, …, an - это измеренные в сотых долях секунды результаты n спортсменов в беге на 100 метров. По этим результатам составить команду из четырех лучших бегунов для участия в эстафете 4´100, т.е. распечатать номера спортсменов, имеющих четыре лучших результата.

 

7.5. Верно ли решена следующая задача: «читать символы из стандартного входного потока, пока код каждого следующего символа больше кода предыдущего; определить, сколько символов было прочитано»

a)... i = 0;

while (getchar() < getchar()) i = i + 2;

b) … i = 0; c = getchar();

while (c < (c = getchar())) i++;

c) … i = 0; c = getchar();

while (c < (d = getchar())) { i++; c = d;}

d) … i = 0; c = getchar();

while (d = getchar(), c<d)) { i++; c = d; }

e) … i = 0; c = getchar();

while (c!= EOF && (d = getchar())!= EOF && c<d) { i++; c=d; }

 

7.6. Сравнить следующие фрагменты программы:

a) while (c = getchar() = EOF)

b) while (c = getchar() == EOF)

c) while ((c = getchar()) == EOF)

d) while ((c = getchar()) = -1)

 

7.7. Допустимо ли в Си? Если "да" - опишите семантику этих действий; если "нет" - объясните почему.

int i,k,sum;

for (i=1; scanf("%d",&k) == 1; i++)

printf("i = %d, k = %d, sum = %d\n", i, k, sum+=k);

 

7.8. Программа. Дана непустая последовательность слов, разделенных одним или несколькими пробелами. Признак конца текста – точка. Распечатать этот текст, удалив из него лишние пробелы (каждую группу из нескольких пробелов заменить одним пробелом).

 

7.9. Программа. Дана непустая последовательность слов из прописных (больших) латинских букв. Слова разделены пробелом; признак конца текста – точка.

a) подсчитать количество слов в этом тексте;

b) подсчитать количество слов, у которых совпадают первая и последняя буквы;

c) подсчитать количество слов, являющихся некоторым фрагментом латинского алфавита;

d) подсчитать количество слов, содержащих все буквы, которые входят в состав слова UNIX.

 

7.10. Программа. Дана непустая последовательность слов, разделенных пробелом; признак конца текста – точка. Длина каждого слова – не более 20 литер.

a) распечатать все слова, у которых не совпадают первая и последняя буквы;

b) распечатать все слова, являющиеся «перевертышами», т.е. словами, одинаково читающимися слева направо и справа налево;

c) распечатать текст, оставив из рядом стоящих одинаковых слов только одно;

d) распечатать текст, удалив все слова, где есть символы, отличные от латинских букв.

 

7.11. Программа. Дана непустая последовательность слов, разделенных пробелом; признак конца текста – точка. Длина каждого слова – не более 20 литер. Распечатать данный текст следующим образом: все строки должны быть одинаковой длины (длина строки задается в командной строке); каждое слово должно быть распечатано в одной строке без переносов; если в строке несколько слов, то пробелы между ними должны быть равномерно распределены; если в строке помещается только одно слово и его длина меньше длины строки, то оно должно быть выровнено по левому краю; если длина слова больше длины строки, то такие слова из текста удаляются, при этом после распечатки текста о каждом таком слове выдается предупреждение.

 

7.12. Программа. Дана непустая последовательность слов из строчных (малых) латинских букв. Слова разделены пробелом; признак конца текста – точка. Напечатать все буквы, которые

a) чаще других встречаются в данном тексте;

b) входят в каждое слово данного текста;

c) входят в наибольшее количество слов данного текста;

 


Дата добавления: 2015-11-14; просмотров: 54 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Структуры со сылками на себя| Работа с файлами

mybiblioteka.su - 2015-2024 год. (0.009 сек.)