将输入句子中的大写字母变为小写

来源:互联网 发布:非线性优化计算方法pdf 编辑:程序博客网 时间:2024/05/18 03:07

//一).第一种方法对句子的长度没有限制。

/*一开始用cin>>a来读入字符串,字符数组不能存储空格,

结果输出时句子遇空格就换行,

换用getline函数可以读入一整个句子,输出不断行*/

#include<iostream>

#include<string>
using namespace std;
int main()
{
string a;
int i ;
while (getline(cin,a))//getline(数组名,数组长度)函数,可以读入一整个句子,不会遇到空格就断掉
{
for (i = 0; a[i]!='\0';)//此处来源于hxt,可以边输入字符串边计数,从而动态的确定字符串的长度,这个应用在《输出奇数位字符》中也有体现
{
if (a[i] >= 'A'&&a[i] <= 'Z')//a(97)=A(65)+32
a[i] += 32;             // z(122)=Z(90)+32
   i++;
}
cout << a << endl;
}
system("pause");
return 0;

}


//二).此方法对输入的句子长度有限制。

/*运用getling函数读入字符数组和字符串的方式不同

字符数组:char a[100];cin.getline(a,100);

字符串=字符串数组:string a;getline(cin,a);

*/

#include<iostream>
#include<string>
using namespace std;
int main()
{
char a[100];
int i;
while (cin.getline(a, 100))
{
for (i = 0; i < 100;)
{
if (a[i] >= 'A'&&a[i] <= 'Z')
a[i] += 32;
i++;
}
cout << a << endl;
}
system("pause");
return 0;
}
0 0