0
点赞
收藏
分享

微信扫一扫

7-9 字符串字母大小写转换

快乐小鱼儿_9911 2022-05-01 阅读 71
c++c语言

本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。

输入格式:

输入为一个以“#”结束的字符串(不超过30个字符)。

输出格式:

在一行中输出大小写转换后的结果字符串。

输入样例:

Hello World! 123#

输出样例:

hELLO wORLD! 123

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

题比较简单,我用了两种方法,第一种字符的形式一个一个输,c和c++通用,第二种是以字符串的形式输,只适用于c++

第一种: 

 #include<bits/stdc++.h>
 using namespace std;
 int main()
 {int i=0;
 	char ch=getchar();     //一次输入一个字符 
	 while(ch!='#')
        {
 		if(ch<='z' && ch>='a'){
 			ch=ch-'a'+'A';          //小写变大写 
 		}else if(ch<='Z' && ch>='A'){
 			ch=ch-'A'+'a';             //大写变小写 
 		}
 		putchar(ch);
 			ch=getchar();		
 	}
 printf("%c",ch-'#');           
 return 0;
 }

第二种:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	 string s;            
	 getline(cin,s);     //直接以字符串的形式一次全部输入 
	 int i=0;
	 while(1)          
	 {
	 	if(s[i]=='#')
	 	break;                //从第一个字符开始判断,是‘#’结束循环 
	 	if(s[i]>='A'&&s[i]<='Z')
	 	s[i]=s[i]-'A'+'a';
	 	else if(s[i]>='a'&&s[i]<='z')
	 	s[i]=s[i]-'a'+'A';
	 	i++;
	 	
		
	 }
	 for(i=0;s[i]!='#';i++)      //判断条件也可以是i<s.size()-1; 这样就可以不输出最后一个字符# 
	 cout<<s[i];
	
 } 

 

 

举报

相关推荐

0 条评论