21. Из строки исключить первое слово.
22. Подсчитать в строке количество символов не цифр.
Пример 3а. В строке поменять местами имена без использования библиотечных функций.
#include<stdio.h>
#define L 80
void main()
{
char Name [] = {"Ruslan Ludmila"}, Newname[L];
int i, j, k= 0;
puts("Сначала:");
puts (Name);
for (i=0; Name[i] != ' '; i++); // находим пробел
// переписываем второе имя
for (j=i+1; Name[j] != '\0'; j++, k++) Newname[k] = Name[j];
// добавляем пробел
Newname [k++] = ' ';
// переписываем первое имя
for (j=0; j < i; j++, k++) Newname[k] = Name[j];
Newname [k] = '\0';
puts("Результат:");
puts(Newname);
}
Пример 3б. В строке поменять местами имена, используя библиотечные функции.
#include<stdio.h>
#include<string.h>
#define L 80
void main()
{
char Name[] = {"Ruslan Ludmila"}, Newname[L];
char *p;
puts ("Сначала:");
puts (Name);
p = strchr (Name,' '); //находим пробел
*p = '\0';
strcpy (Newname, p+1); // переписываем второе имя
strcat(Newname, " "); // добавляем пробел
strcat (Newname, Name); // переписываем первое имя
puts("Результат:");
puts(Newname);
}
ch = getch (); считывает один символ с клавиатуры без отображения на экране.
ch = getchar (); считывает символ из стандартного входного файла (stdin) с отображением его на экране.
putchar (ch); записывает символ в стандартный файл вывода (stdout).
isalnum (ch); возвращает ненулевое значение, если ch – код буквы или цифры.
isalpha (ch); возвращает ненулевое значение, если ch – код буквы.
isdigit (ch); возвращает ненулевое значение, если ch – код цифры (0…9).
tolower (ch); преобразует код буквы ch к нижнему регистру.
toupper (ch); преобразует код буквы ch к верхнему регистру.
gets (Str); считывает строку из стандартного входного файла (stdin).
puts (Str); записывает строку в стандартный файл вывода (stdout).
strcat (Str1, Str2); приписывает строку Str2 к строке Str1.
strchr (Str, ch); ищет в строке Str первое вхождение символа ch.
strcmp (Str1, Str2); сравнивает строки. Результат < 0, если Str1 < Str2;
равен 0, если строки равны и > 0, если Str1 > Str2.
strcpy (Str1, Str2); копирует байты строки Str2 в строку Str1.
strdup (Str); выделяет память и копирует в неё строку Str.
strlen (Str); вычисляет длину строки.
strrev (Str); записывает строку наоборот.
strset (Str1, ch); заполняет строку Str заданным символом ch.
strstr (Str, SubStr); ищет в строке Str подстроку SubStr.
strlwr (Str); преобразует буквы верхнего регистра в строке в соответствующие буквы нижнего регистра.
strupr (Str); преобразует буквы нижнего регистра в строке в соответствующие буквы верхнего регистра.
strpbrk (Str, SubStr); ищет в строке Str первое появление любого символа из подстроки SubStr.
Пример 4а. Написать программу, которая отображает встречаемые в строке символы с частотой появления каждого из них (без использования библиотечных функций).
#define L 80
void main()
{
char s[L];
int i, j, count=1;
puts ("\n Enter string:");
gets (s);
for(i = 0; s[i] != '\0'; i++)
{
for (j=i-1; j>=0; j--) if (s[i]==s[j])break; // если символ встречался раньше
if (j<0)
{ // если первое вхождение символа, то считаем число повторений
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.