使用地址传递而非引用传递,大概是从 C 转过来/ 有着 C 的风格吧。
char MagicFunction(char str){
for(int i=0;str[i];i++)
{
if( str[i] > 0x40 && str[i] < 0x5B )str[i] += 0x20 ;
else if( str[i] > 0x60 && str[i] < 0x7B )str[i] -= 0x20 ;
else continue ;
}
return str ;
}
#include<iostream>
using namespace std;
void Change(char s[])
{
int i;
for(i=0;s[i]!='\0';i++)
if(s[i]>='A'&&s[i]<='Z')//检查是否为大写字母
s[i]=s[i]-'A'+'a';//改为小写字母
};
int main()
{
char a[100]="";
cin>>a;
Change(a);
cout<<a<<endl;
return 0;
}
首先大小写相差32,转换的话自己写函数也是可以写出来的。
1、字母
如果是字母转的话,用toupper(),tolower()
头文件是<ctypeh>
char a='a';2 char b;3 b=toupper(a);
不过要注意是有返回值的。
2、字符串
strupr()
strlwr()
头文件不说也应该很熟悉<stringh>
这两个的返回值是原字符串的指针。
扩展资料
字母大小写转换这类题目主要通过ASCII(美国信息交换标准代码)码差值实现,A对应ASCII码十进制数字是65,a对应ASCII码十进制数字是97,即大小写字母之间ASCII码差值为32。
想要将大写字母转换为小写字母可以将该字符ASCII码值+32,同理小写字母转换成大写字母只需将该字符ASCII码值-32。
算法思想
由于大写字母与小写字母之间的差值为 32,因此小写字母转换为大写字母的方法就是将小写字母的 ASCII 码值减去 32,便可得到与之对应的大写字母。
利用 getchar 函数从键盘上输入一个小写字母,并将其赋给一个字符变量 a;然后将 a—32 的值赋给字符变量 b;最后进行输出,输出时先输出字母,再将字母以整数形式输出。其具体步骤如下:
① 定义两个字符变量 a、b;
② a=get char();
③ b=a—32;
④ 打印输出。
int Fun(char str){
int i = 0;
char ch ;
while(1){
ch = str++;/当前需要判断的字符/
if(ch=='\0') break;/如果为字符串结束标志,退出循环/
else if(ch>=65 && ch <=90) /如果是大写字母,计数器加一/
i ++;
}
return i;/返回计数器的值/
}
void main(){
char str[] = "China PepoleS";/测试字符串/
printf("UpperCase Count:%d",Fun(str));/打印大写字母个数/
getch();
}
#include<stdioh>
#include<stringh>
void fun2(char ss)
{
int i;
for(i=1;i<strlen(ss);i+=2)
{
if(ss[i]>='a'&&ss[i]<='z')
ss[i]-=32;
}
}
main()
{
char ss[10];//存放字符串你得用数组,用指针的话也得初始化指针地址,类似 int a[10],char p;p=a这样
gets(ss);
fun2(ss);
puts(ss);
}
#include <stdioh>
#define N 100
void fun(char strA, char strB);
void main(void)
{
char strA[N];
char strB[N];
printf("请输入字符串:\n");
gets(strA);
fun(strA, strB);
printf("复制后的字符串:\n");
puts(strB);
}
void fun(char strA, char strB)
{
int i;
int k = 0;
for (i=0; strA[i] != '\0'; i++)
{
if ((strA[i] >= 'A') && (strA[i] <= 'Z'))
{
strB[k++] = strA[i];
}
}
strB[k] = '\0';
}
如果对你有所帮助,请记得采纳最佳答案,谢谢!
1、全部转换成大写:upper()
用法: str = ‘marsggbo’
print strupper()
结果:MARSGGBO
2、全部转换成小写:lower()
用法:str = 'MarsGGbO'
print strlower()
结果: marsggbo
3、首字母转换成大写:capitalize() ,其余全部小写
注意:此方法返回的字符串只有它的第一个字符大写的副本。
用法:str = 'mars is VEry sliM and cLever!'
print strcapitalize()
结果:Mars is very slim and clever!
4、标题首字母大写:title()
用法:str = 'mARS iS slim and cLEver!'
print strtitle()
结果:Mars Is Slim And Clever!
扩展资料:
输入一串字符,将大写字母转换成小写字母,小写字母转换为大写字母
a = input("请 输入字符:")
b = []
for n in a :
if "a"<= n <= "z":
bappend(nupper())
elif"A" <= n <= "Z" :
bappend(nlower())
else:
bappend(n)
print(""join(b))
参考资料:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)