Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将字符转换为c+中的小写和大写+;_C++_Turbo C++ - Fatal编程技术网

C++ 将字符转换为c+中的小写和大写+;

C++ 将字符转换为c+中的小写和大写+;,c++,turbo-c++,C++,Turbo C++,如何比较字符,而不考虑其大小写。意思是假设我输入Z,如果我的if条件对Z和Z都返回true,字符可以是A-Z或A-Z中的任何字母表。 像ABCbabcAABC 如果我输入B,那么我必须得到4作为输出,因为字符串中有4b。 我正在学习C++上的Turbo C++。我试着去做,但现在没有办法 void main() { clrscr(); char str[50],ch; char str1[50]; int i = 0, l; cout <<

如何比较字符,而不考虑其大小写。意思是假设我输入Z,如果我的if条件对Z和Z都返回true,字符可以是A-Z或A-Z中的任何字母表。
像ABCbabcAABC
如果我输入B,那么我必须得到4作为输出,因为字符串中有4b。
我正在学习C++上的Turbo C++。我试着去做,但现在没有办法

void main()
{
    clrscr();

    char str[50],ch;
    char str1[50];

    int i = 0, l;

    cout << "Enter strings: ";
    gets(str);
    cout << "Enter charcter: ";
    cin >> ch;

    l = strlen(str);

    for(i = 0; i <= l; i++)
    {
        cout << isupper(str[i]) ? tolower(str[i]) : toupper(str[i]);
    }

    puts(str);
    getch();
}
void main()
{
clrsc();
char-str[50],ch;
char-str1[50];
int i=0,l;
coutch;
l=strlen(str);
对于(i=0;i
if(tolower(str[i])==tolower(ch)){
cout
void main()
{
clrsc();
char-str[50],ch;
char-str1[50];
int i=0,l;

cout您需要做的就是处理ASCII值

检查代码:这说明您只需要转换ASCII值介于65(A)到90(Z)之间的字符

公开课问题2{

/**
 * @param args the command line arguments
 */
public static void main(String[] args) throws IOException {
    //ascii A=65 Z=90 a=97
    System.out.println("Enter UPPERCASE");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
   // String input = br.readLine().toLowerCase();
    char c;
    char[] word=br.readLine().toCharArray();
   for(int i :word)
   {
       if(i>=65 && i<=90){
       i=i+32 ;
       c=(char) i;
        System.out.println(c);
       }
       else{
           c=(char)i;
           System.out.println(c);
       }
   }

}
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args)引发IOException{
//ascii A=65 Z=90 A=97
System.out.println(“输入大写”);
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
//字符串输入=br.readLine().toLowerCase();
字符c;
char[]word=br.readLine().toCharArray();
for(inti:word)
{

如果(i>=65&&i此代码将切换大写/小写!AaBB将变为AaBB!小心,您的for是错误的。使用@Lamp up duck,我正在尝试做相同的操作,猜测大小写从下到上和从上到下的切换,但是如果我输入Church并使用字符切换“c”,那么我将以400000 Church的形式输出。我应该以Church的形式输出。为什么我没有得到正确的输出:cout 40000是isupper输出。(非零表示大写字符,零表示小写,如手册中所述)我按照您的技巧,将此代码放入循环
if(toupper(ch)==str[I]){str[I]=tolower(str[I])中;能否正确说出您需要什么???您需要字符的计数???或者您需要打印字符???
void main()
{
    clrscr();
    char str[50],ch;
    char str1[50];
    int i=0,l;
    cout<<"Enter strings: ";
    gets(str);
    cout<<"Enter charcter: ";
    cin>>ch;
    l=strlen(str);
    int result=0;
    for(i=0;i<l;i++)
    {
             if(tolower(ch)== tolower(str[i]))
        {
            result++;
        }
    }
puts(str);
puts(result);
getch();
}
/**
 * @param args the command line arguments
 */
public static void main(String[] args) throws IOException {
    //ascii A=65 Z=90 a=97
    System.out.println("Enter UPPERCASE");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
   // String input = br.readLine().toLowerCase();
    char c;
    char[] word=br.readLine().toCharArray();
   for(int i :word)
   {
       if(i>=65 && i<=90){
       i=i+32 ;
       c=(char) i;
        System.out.println(c);
       }
       else{
           c=(char)i;
           System.out.println(c);
       }
   }

}