1、 设计一个字符串数组的统计工具,可以实现以下功能:
(1) 统计所有大写字母的个数;
(2) 统计所有小写字母的个数;
(3) 将所有字母转换为大写字母;
(4) 将所有字母转换为小写字母。
救命啊~~~好讨厌的C++。。。。
1、 设计一个字符串数组的统计工具,可以实现以下功能:
(1) 统计所有大写字母的个数;
(2) 统计所有小写字母的个数;
(3) 将所有字母转换为大写字母;
(4) 将所有字母转换为小写字母。
救命啊~~~好讨厌的C++。。。。
很简单的程序. 利用ascii码来判断和转换大小写. 具体代码如下:
#include <iostream>
using namespace std;
int main()
{
int Ucase=0,Lowercase=0;
char str[20];
cout<<"输入字符串:";
cin>>str;
int n=strlen(str); //得到字符串的长度.
//统计大小写字母的个数.
for(int i=0;i<n;++i)
{
if(str[i]>='A'&&str[i]<='Z')
++Ucase;
else if(str[i]>='a'&&str[i]<='z')
++Lowercase;
}
cout<<"大写字母:"<<Ucase<<endl
<<"小写字母:"<<Lowercase<<endl;
// 将所有字母转换为大写字母
for(i=0;i<n;++i)
{
if(str[i]>='a'&&str[i]<='z')
str[i]-=32;
}
cout<<"将所有字母转换为大写字母后:"<<str<<endl;
for(i=0;i<n;++i)
{
if(str[i]>='A'&&str[i]<='Z')
str[i]+=32;
}
cout<<"将所有字母转换为小写字母后:"<<str<<endl;
return 0;
}
附图:
int CountLower(char *str) { int nC = 0; do { if((*str)>='a' && (*str)<'z') nC++; }while(*(++str)!='\0');
return nC; }
int CountUpper(char *str) { int nC = 0; do { if((*str)>='A' && (*str)<'Z') nC++; }while(*(++str)!='\0');
return nC; }
void MakeUpper(char *str) { do { if((*str)>='a' && (*str)<'z') (*str)-=32; } while (*(++str)!='\0'); }
void MakeLower(char *str) { do { if((*str)>='A' && (*str)<'Z') (*str)+=32; } while (*(++str)!='\0'); }
int main() { char sTest[] = "fd$%4dffAAf3fAFDc";
printf("大写字母的个数:%d\n", CountUpper(sTest)); printf("小写字母的个数:%d\n", CountLower(sTest));
MakeUpper(sTest); printf("全大写:%s\n", sTest); MakeLower(sTest); printf("全小写:%s\n", sTest); return 1; }