Итак, я создал функцию, которая в настоящее время подсчитывает все отдельные строчные буквы в строке и выводит их следующим образом:
a: 3
b: 5
и так далее ...
Я изо всех сил пытаюсь заставить функцию сложить как прописные, так и строчные буквы вместе, чтобы для обоих значений был один выход.Например, если есть 3 'a' и 4 'A', тогда вывод для A / a должен быть 7. На данный момент выводятся только строчные буквы.
#include <stdio.h>
void countLetters(char * strings[])
{
int loweralphabet[26] = { 0 };
int upperalphabet[26] = { 0 };
int i, j;
for (i = 0; i <= 2; i++) {
for (j = 0; strings[i][j] != '\0'; j++) {
char c = tolower(strings[i][j]);
if (c >= 'a' && c <= 'z') {
loweralphabet[c - 'a']++;
if (c >= 'A' && c <= 'Z') {
upperalphabet[c - 'A']++;
}
}
}
}
printf("\n");
for (i = 0; i < 26; i++) {
printf("%c / %c: %d\n", ('a' + i), ('A' + i), loweralphabet[i],
upperalphabet[i]);
}
printf("\n");
return 0;
}
int main()
{
char * strings[] = { "Is laid back living your thing, ",
"or are you an adrenaline junkie always seeking
adventure ?",
"Are you a culture lover looking to learn new things or
do you live for the night ?",
"Do your friends see you as a sports fanatic, ",
"or are you a frequent gig goer obsessed with music ?
",
"Whichever of these you identify with, x is the
place where you can follow your interests ",
"as well as explore new passions.",
"" };
countLetters(strings);
}
Если я простосложите два счета вместе в функции печати, при выводе программы это показывает: