Определить количество введенных цифр и букв - C (СИ)
Формулировка задачи:
Доброго время суток!
Помогите плиз, разобраться с парой вопросов...
1. Как я могу проверить что юзер ввел в массив? Имеется в виду сколько чисел, сколько букв и всего остального...
2. Работая с массивом состоящим из "всего подряд", я обозначаю его как
char
arr[10]? И вообще, для общего развития, кто-нибудь может показать код как работают с массивом, который не обязательно из чисел? Например код который проверяет массив на наличие "Палиндромa"... Заранее благодарен и извеняюсь если вопросы тривиальные...Решение задачи: «Определить количество введенных цифр и букв»
textual
Листинг программы
#include <stdio.h>
#define SIZE 6
int main(void)
{
char str[SIZE];
int count = 0, i, j;
printf("Enter string \n");
scanf("%5s", str);
for ( i = 0, j = 5 - 1; i < (5/2); ++i, --j)
if(str[i] == str[j])
count++;
if(count == (5 / 2))
printf("Yes \n");
else
printf("No \n");
}
Объяснение кода листинга программы
В этом коде:
- Объявлены две переменные:
strтипаcharиcountтипаint. - Переменная
strинициализируется массивом символов размером 6. - Пользователю предлагается ввести строку.
- С помощью функции
scanfвводится строка, которая сохраняется в переменнойstr. - Переменная
countинициализируется нулем. - В цикле
forпроисходит сравнение каждого символа строкиstrс символом, стоящим через 5 символов (т.е. в конце строки). Если символы совпадают, то переменнаяcountувеличивается на единицу. - После цикла проверяется, равна ли переменная
countполовине длины строки (т.е. 5/2 = 2). Если да, то выводится сообщениеYes, иначе выводится сообщениеNo.