Помогите написать программу на Си. Дана строка. Преобразовать в ней все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные.
#include #include using namespace std; int main(){ //--------------------- char S[256]; cin >> S; int i,n; n=strlen(S); for(i=0;i<=n;i++){</span> if (isupper(S[i])==true){ S[i]=tolower(S[i]); }else{ S[i]=toupper(S[i]); } } cout << S;<br> //--------------------- return 0; }
isupper(S[i]) работает только для латинских букв, для кирилицы не работает, то же самое насчет tolower и toupper, кроме того, cin>>S считает строку S только до первого пробела.