永发信息网

1、 设计一个字符串数组的统计工具,可以实现以下功能:

答案:3  悬赏:80  手机版
解决时间 2021-04-26 19:34
  • 提问者网友:绫月
  • 2021-04-25 22:05

1、 设计一个字符串数组的统计工具,可以实现以下功能:

(1) 统计所有大写字母的个数;

(2) 统计所有小写字母的个数;

(3) 将所有字母转换为大写字母;

(4) 将所有字母转换为小写字母。

救命啊~~~好讨厌的C++。。。。

最佳答案
  • 五星知识达人网友:风格不统一
  • 2021-04-25 23:01

很简单的程序. 利用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;
}
附图:


全部回答
  • 1楼网友:逐風
  • 2021-04-26 00:55

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; }

  • 2楼网友:胯下狙击手
  • 2021-04-26 00:22
#include <iostream.h> #include <string.h> void main() { char s[100]; cin>>s; cout<<s; int A=0,a=0; for (int i=0;i<strlen(s);++i) { if(s[i]>='a'&&s[i]<='z') { ++a; s[i]+=('A'-'a'); } else if (s[i]>='A'&&s[i]<='Z') { ++A; s[i]+=('a'-'A'); } } cout<<"大写字母:"<<A<<"个,小写字母"<<a<<"个"<<endl; cout<<"转换为:"; cout<<s<<endl; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯