Лабораторная работа №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:
![]()
Вывод
Я написал программу которая будет считать количество гласных и количество букв «а » в введенном тексте и выводить результаты на экран. В ходе написания данной программы я научился работать со строками.