def change(str1):
new_str = str()
for i in range(len(str1)):
if(65 <= ord(str1[i]) <= 90):
a = str1[i]lower()
print(a,end='')
elif(97 <= ord(str1[i]) <= 122):
a = str1[i]upper()
print(a,end='')
else:
a = str1[i]
print(a,end='')
return new_str
str2 = str(input("要转换的字符串:"))
print(change(str2))
1、打开VBA编辑界面。
2、首先先编写一个测试函数的框架,如下图所示。
3、接着定义两个字符串变量用来存放用来比较的两个字符串的。Dim str1 As StringDim str2 As String。
4、然后为定义好的两个字符串变量赋值。 str1 = "ABCD" str2="abcd"。
5、然后使用StrComp函数进行两个字符串比较,这个函数有三个参数,前两个参数是两个字符串,最后一个参数为1,是说明要进行字符串的比较,如果的不给第三个参数,那就是进行而二进制的比较。
6、最后点击运行查看结果。(结果为0说明两者相等,-1就是前者小于后者,1就是大于后者)。
源程序如下:
public class StringToLowerCase {
public String toLowerCase(String str) {
char[] chars = strtoCharArray();
for (int i=0;i<charslength;i++){
if (isCapitalLetter(chars[i])){
chars[i]=(char)(chars[i]-'A'+'a');
}
}
return StringvalueOf(chars);
}
public boolean isCapitalLetter(char ch){
if (ch>='A'&&ch<='Z'){
return true;
}
return false;
}
public static void main(String[] args) {
String s ="LOVELY";
Systemoutprintln(new StringToLowerCase()toLowerCase(s));
}
}
扩展资料:
实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。
思路:
方法一:用hashmap {a:A}进行对应
方法二:用(char)(chars[i]-'A'+'a'),来获得对应的转换
主要问题出在String是不可改变的,需要改变其中的某个字符,可以考虑把String转换为char[],改完之后再转换为String即可
#include <stdioh>
void input(char ,int );
int main(void)
{
char str[40];
int n;
printf("Please input the char number of your string:");
scanf("%d",&n);
getchar();
printf("Please input the string:");
input(str,n);
printf("%s",str);
return 0;
}
void input(char str,int n)
{
int i=0;
char reg;
while(1)
{
reg = getchar();
if((reg !='\n')&&(reg!='\t')&&(reg!=' ')&&(i<n))
{
str++ = reg;
i++;
}
else
{
break;
}
}
(str+i)='\0';
}
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
void main()
{
string str;
cout<<"请输入要判断的字符串:\n";
char buf[] = {'A', 'E', 'I', 'O', 'U'};
getline(cin, str, '\n'); //得到输入
transform(strbegin(), strend(), strbegin(), toupper); //将所有字符转换成大写
const int size = sizeof(buf); //计算元音字母个数
unsigned long Count[size]; //用于存储对应元音字母的个数
int i,j;
for(i=0; i<size; i++)
Count[i]=0;
for(i=0; i<sizeof(buf); i++)
{
for(j=0; j<strsize(); j++)
{
if (str[j] == buf[i])
{
Count[i]++;
}
}
}
for(i=0; i<size; i++)
{
cout<<"元音字母 "<<(char)buf[i]<<" 的个数为:"<<Count[i]<<endl;
}
}
找了一个以前写的,大概差不多!
#include<stdioh>
#include<conioh>
#include<stringh>
main(void)
{
char st1[50],st2[20],st3[50];
int a,i=0,b;
printf ("请输入字符串1 \n");
gets(st1);
printf ("请输入字符串2 \n");
gets(st2);
b=strlen(st2);
printf ("请输入您要插入的位置 \n");
scanf("%d",&a);
while(st2[i]!='\0')
{
st3[i]=st1[a];
st1[a]=st2[i];
i++;
a++;
}
while(st1[a]!='\0')
{
st3[i]=st1[a];
st1[a]='\0';
i++;
a++;
}
st3[i]='\0';
strcat(st1,st3);
puts(st1);
fflush(stdin);
getchar();
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)