У меня есть массив размером 25, который хранит заглавные буквы в массиве. Он хранит для моего теста ввода пользователя «A», «B», «C» и «D». Моя программа подсчитывает количество этих букв в массиве и выводит их. Например, если AABBCCDD был введен, он сказал бы, что есть 2 A, 2 B, 2 C и 2 D. Теперь я пытаюсь заставить его принимать строчные буквы и считать их до тех пор, пока они совпадают с прописными буквами. Например, если я ввел, aA, Bb, cC и dD, он все равно напечатает, что их по два. МОЙ код:Как использовать функцию toupper() для подсчета ввода как в нижнем, так и в верхнем регистре?
int main(void)
{
char array[25];
printf("Enter array: \n");
scanf("%[^\n]", array);
printf(Array is: ", array);
count(array, 'A');
return 0;
}
void count(char* array, char p)
{
int i, count = 0;
for (i = 0; array[i] !='\0'; i++)
if(array[i] == p)
count++;
printf("Number of %c's: %d\n, p, count);
}
Я хочу, чтобы код учитывался как «a», так и «A». Использует toupper() подход?
'p = toupper ((unsigned char) p);' before loop .. 'if (массив toupper ((unsigned char) [i]) == p)' – BLUEPIXY
Правильно! спасибо – CodeFreak
@CodeFreak Если это то, что у вас есть, и это работает, тогда в чем вопрос? – Potatoswatter