Скажите пожалуйста, как в Си можно определить является ли буква прописной или нет?
volvo
6.06.2007 17:06
Для латинских символов: isupper(ch), для других кодировок придется делать самой...
18192123
6.06.2007 17:49
Цитата(volvo @ 6.06.2007 14:06)
Для латинских символов: isupper(ch), для других кодировок придется делать самой...
Я хочу посчитать количество прописных латинских символов, но только при тестированиии выдаёт на 1 больше или меньше, чем нужно....
#include <stdio.h> #include <ctype.h> #include <string.h> #include <conio.h> int Count(char *str) { int i, count = 0; for (i = 0;i < strlen(str); i++) if (isupper(str[i])) count+=1;
return count;
}
void main() { char str[20]; int i = -1; printf ("vvedite stroky\n"); do i++; while ((str[i] = getchar())!='.');
printf("%d",Count(str));
}
Ozzя
6.06.2007 18:00
Марина, пробегись отладчиком по программе и сразу станет ясно, где заморочка.
volvo
6.06.2007 18:06
Цитата
при тестированиии выдаёт на 1 больше или меньше, чем нужно....
Странно, у меня твой код выдает ровно столько, сколько и надо...
18192123
6.06.2007 18:27
У меня тоже заработало, как следует. Но только в том случае, если символы вводить в одной строке, а точку в следующей.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.