1 条题解

  • 0
    @ 2025-8-24 22:42:12

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Vct14
    **

    搬运于2025-08-24 22:42:12,当前版本为作者最后更新于2023-04-20 19:58:07,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题意

    给定一个字符串,将所有字母转化为大写输出。

    解法

    方法 11

    直接使用 ASCII 码值判断转换。

    #include<bits/stdc++.h>
    using namespace std;
    
    char a[102];//也可以使用 string
    
    int main(){
    	cin>>a;
    	for(int i=0; i<strlen(a); i++) if(a[i]<=122 && a[i]>=97) a[i]-=32;//判断并转换
    	cout<<a;
    	return 0;
    }
    

    方法 22

    c++ 中,可以使用用单引号求出字符对应的 ASCII 码值。

    #include<bits/stdc++.h>
    using namespace std;
    
    char a[102];//也可以使用 string
    
    int main(){
    	cin>>a;
    	for(int i=0; i<strlen(a); i++) if(a[i]<='z' && a[i]>='a') a[i]+='A'-'a';//判断并转换
    	cout<<a;
    	return 0;
    }
    

    方法 33

    可以使用 islower 函数判断小写字符。

    #include<bits/stdc++.h>
    using namespace std;
    
    char a[102];//也可以使用 string
    
    int main(){
    	cin>>a;
    	for(int i=0; i<strlen(a); i++) if(islower(a[i])) a[i]+='A'-'a';//判断并转换
    	cout<<a;
    	return 0;
    }
    

    方法 44

    可以使用 isupper 函数判断大写字符。

    #include<bits/stdc++.h>
    using namespace std;
    
    char a[102];//也可以使用 string
    
    int main(){
    	cin>>a;
    	for(int i=0; i<strlen(a); i++) if(!isupper(a[i])) a[i]+='A'-'a';//判断并转换
    	cout<<a;
    	return 0;
    }
    

    方法 55

    直接使用 toupper 函数将字母转大写。

    #include<bits/stdc++.h>
    using namespace std;
    
    char a[102];//也可以使用 string
    
    int main(){
    	cin>>a;
    	for(int i=0; i<strlen(a); i++) a[i]=toupper(a[i]);//转换
    	cout<<a;
    	return 0;
    }
    
    • 1

    信息

    ID
    7939
    时间
    1000ms
    内存
    128MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者