Подскажите, где ошибка - C (СИ) (157073)
Формулировка задачи:
Нужно посчитать количество повторений каждой буквы в произвольно введенном английском тексте и вывести. Написал код, но что-то намудрил в цикле да и с { } скобками у меня проблемы, не понимаю где их нужно ставить... Знатоки, помогите, пожалуйста, разобраться в программе...
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
void main()
{
char symb[27]={'a','b','c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'u', 'v', 'w', 'x', 'y', 'z'} ;
float numb[100];
char s1[100];
printf ("введите текст: \n");
gets(s1);
int k, i, j;
k=0;
for (j=0; j<=25; j++)
for (i=0; i<=strlen(s1); i++)
{
if (s1[i] == char(97+j))
k++;
numb[i] = k;
}
printf("%s", symb[27]);
for (i=0; i<=strlen(s1); i++)
printf("%d", numb[i]);
getch();
}Решение задачи: «Подскажите, где ошибка»
textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
void main()
{
int counts[26] = { 0 };
int i;
char ch;
while ((ch = getchar()) != '\n')
if (isalpha(ch))
counts[tolower(ch) - 'a']++;
for (i = 0; i < 26; i++)
printf("%c: %d\n", i + 'a', counts[i]);
getch();
}