编程,从键盘上输入一个小写字母,将其转化为大写字母

时间:2022-02-14 09:16:13
编程,从键盘上输入一个小写字母,将其转化为大写字母

14 个解决方案

#1


编程,从键盘上输入一个小写字母,将其转化为大写字母

#2


先输入一个字符,判断是否为小写字符

是  则大小减去32输出
否  则丢弃重新输入

#3


这个表中 ASC非打印控制字符  怎么打出来?ALT+“小键盘上的数字键”什么也打不出啊!

#4


'a'->'A','a' - 32 == 'A'

#5


char ch = getch();  /* 读入字母 */
ch &= ~(1 << 5);    /* 转为大写字母 */


引用 楼主 u012876050 的回复:
编程,从键盘上输入一个小写字母,将其转化为大写字母

#6


char ch = getch();
if (ch >= 'a' && ch <= 'z')
    ch = ch - 'a' + 'A';
else
    printf("Unexpected char\n");

#7


第五位为1或为0就是大小写的区分~~~

#8


奇怪,没有回答使用 toupper的吗?

#9


包含γ→Γ吗? 编程,从键盘上输入一个小写字母,将其转化为大写字母

#10


引用 8 楼 u013235485 的回复:
奇怪,没有回答使用 toupper的吗?


++

#11


引用 2 楼 max_min_ 的回复:
先输入一个字符,判断是否为小写字符

是  则大小减去32输出
否  则丢弃重新输入


考虑locale

#12


#include <stdio.h>
void main()
{
   char ch;
   printf("请输入一个字符:\n");
   scanf("%c",&ch);
   printf("其大写字符是:%c\n",ch-32);
}

#13


#include <stdio.h>
#include <ctype.h>

int main()
{
   unsigned char ch;
   while(1)
   {
   printf("输入一个字符:");
   scanf("%c",&ch);getchar();
   if(!isalpha(ch))
   {
  puts("输入的不是字母!");
  continue;
}
   if(islower(ch))
 putchar(toupper(ch));
  putchar(10);
   }
      
   return 0;
}

#14


其实我觉得吧这种题目就是先将ASCII码表的对应的字符赋给一个一维数组,然后用循环语句进行查找,如果成功返回查找到的字符,否则返回错误!具体的代码我要测试一下,目前觉得还是可以的!

#1


编程,从键盘上输入一个小写字母,将其转化为大写字母

#2


先输入一个字符,判断是否为小写字符

是  则大小减去32输出
否  则丢弃重新输入

#3


这个表中 ASC非打印控制字符  怎么打出来?ALT+“小键盘上的数字键”什么也打不出啊!

#4


'a'->'A','a' - 32 == 'A'

#5


char ch = getch();  /* 读入字母 */
ch &= ~(1 << 5);    /* 转为大写字母 */


引用 楼主 u012876050 的回复:
编程,从键盘上输入一个小写字母,将其转化为大写字母

#6


char ch = getch();
if (ch >= 'a' && ch <= 'z')
    ch = ch - 'a' + 'A';
else
    printf("Unexpected char\n");

#7


第五位为1或为0就是大小写的区分~~~

#8


奇怪,没有回答使用 toupper的吗?

#9


包含γ→Γ吗? 编程,从键盘上输入一个小写字母,将其转化为大写字母

#10


引用 8 楼 u013235485 的回复:
奇怪,没有回答使用 toupper的吗?


++

#11


引用 2 楼 max_min_ 的回复:
先输入一个字符,判断是否为小写字符

是  则大小减去32输出
否  则丢弃重新输入


考虑locale

#12


#include <stdio.h>
void main()
{
   char ch;
   printf("请输入一个字符:\n");
   scanf("%c",&ch);
   printf("其大写字符是:%c\n",ch-32);
}

#13


#include <stdio.h>
#include <ctype.h>

int main()
{
   unsigned char ch;
   while(1)
   {
   printf("输入一个字符:");
   scanf("%c",&ch);getchar();
   if(!isalpha(ch))
   {
  puts("输入的不是字母!");
  continue;
}
   if(islower(ch))
 putchar(toupper(ch));
  putchar(10);
   }
      
   return 0;
}

#14


其实我觉得吧这种题目就是先将ASCII码表的对应的字符赋给一个一维数组,然后用循环语句进行查找,如果成功返回查找到的字符,否则返回错误!具体的代码我要测试一下,目前觉得还是可以的!