Лабораторная работа №3
Задание
Написать программу, которая определяет, сколько гласных символов введено с клавиатуры и сколько из них символов ‘a’.
Теория
1. Как реализованы строки в языке программирования Си?
Ответ: Фактически символьные строки являются массивами типа char или символьными массивами.
2. Почему строки называют нуль-терминальными?
Ответ: Каждая строка в языке Си заканчивается специальным символом ‘\0’.
3. Сколько байт памяти необходимо для корректного хранения строки «Привет!» (без кавычек?
Ответ: 8 байт
4. Как найти длину строки?
Ответ: команда strlen(), позволяющая находить длину строки.
5. Как произвести склейку двух строк?
Ответ : Функция strcat() позволяет объединять две строки. В качестве аргументов используются указатели на строки. Функция strcat() присоединяет копию второй строки к концу первой. При этом изменяется первая строка, вторая строка остается неизменной.
Программа
// test2.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> #include <conio.h> int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL,"Russian"); // русская кодировка в консоли. char *glasnie = "aeiouyAEIOUY"; char *a = "aA"; char temp[100]; printf ("Введите слово:"); gets(temp); char *str; str = (char *)malloc(strlen(temp) + 1); strcpy(str, temp); int i, j, x = 0, y = 0; //создание цикла с счетчиком совпадений в строках for(i = 0; i < (strlen(str)); i++) for(j = 0; j < strlen(glasnie); j++) if(str[i]==glasnie[j]) x++; printf("Количество гласных: %d \n",x ); for(i = 0; i < (strlen(str)); i++) for(j = 0; j < strlen(a); j++) if(str[i]==a[j]) y++; printf("Количество бувк а: %d",y); getch(); return 0; }
Результат
Пример 1:
Пример 2:
Вывод
Я написал программу которая будет считать количество гласных и количество букв «а » в введенном тексте и выводить результаты на экран. В ходе написания данной программы я научился работать со строками.