请问一下,这个是不是要用到ASCII呀?

img


#include <stdio.h>
int main()
{
 char a,b,c,d,e; //因为是基本计算,所以不用数组和循环 
 scanf("%c|%c|%c|%c|%c",&a,&b,&c,&d,&e);
 printf("%c%c%c%c%c!",a+32,b+32,c+32,d+32,e+32);//字母大小写之间ASCII码值差32 
 return 0;   //例如:'A'+32='a' 
}

是的!
小写和大写的ascall码相差32
大写+32=小写
这些讨厌的|,你可以用if语句来忽视掉他们
或者你可以直接
用if来选着出小写字母,再把他们放在一个数组里面(方便输出),最后直接手动加上!
就完成了

img

#include<stdio.h>
 
int main()
{    
    char a[20];
    scanf("%s",a);
    for(int i=0;a[i]!='\0';i++) //循环到末尾 
    {
      if(a[i]>='A' && a[i]<='Z') 
          printf("%c",a[i]+32);
    }
    printf("!");
    return 0;
}