C++字符计数相关问题,求解,急,指出输入字符串中字母的个数,不分大小写,如果没有字母则输出none! 120
include<iostream>usingnamespacestd;intmain(){charx[50];intn[26]={0},i,j;intbt=1;gets(...
include<iostream>
using namespace std;
int main(){
char x[50];
int n[26]={0},i,j;
int bt=1;
gets(x);
for(i=0;x[i]!='\0';i++)
{
if('a'<=x[i]&&x[i]<='z')
n[x[i]-'a']++;
else
if('A'<=x[i]&&x[i]<='Z')
n[x[i]-'A']++;
}
for(i=0;i<26;i++)
for(j=0;j<50;j++)
{
if(x[j]==(char)('a'+i))
{
cout<<(char)('a'+i)<<n[i]<<endl;
break;
}
else
if(x[j]==(char)('A'+i))
{
cout<<(char)('A'+i)<<n[i]<<endl;
break;
}
}
for(i=0;i<50;++i)
{
if('a'<=x[i]&&x[i]<='z'||'A'<=x[i]&&x[i]<='Z')
{
bt=0;
break;
}
else
{
bt=1;
break;
}
}
if(bt==1)
{
cout<<"none!"<<endl;
}
return 0;
}
会存在输出的时候有一些W=0或者U=0,的问题怎么把这些=0多余的去掉 展开
using namespace std;
int main(){
char x[50];
int n[26]={0},i,j;
int bt=1;
gets(x);
for(i=0;x[i]!='\0';i++)
{
if('a'<=x[i]&&x[i]<='z')
n[x[i]-'a']++;
else
if('A'<=x[i]&&x[i]<='Z')
n[x[i]-'A']++;
}
for(i=0;i<26;i++)
for(j=0;j<50;j++)
{
if(x[j]==(char)('a'+i))
{
cout<<(char)('a'+i)<<n[i]<<endl;
break;
}
else
if(x[j]==(char)('A'+i))
{
cout<<(char)('A'+i)<<n[i]<<endl;
break;
}
}
for(i=0;i<50;++i)
{
if('a'<=x[i]&&x[i]<='z'||'A'<=x[i]&&x[i]<='Z')
{
bt=0;
break;
}
else
{
bt=1;
break;
}
}
if(bt==1)
{
cout<<"none!"<<endl;
}
return 0;
}
会存在输出的时候有一些W=0或者U=0,的问题怎么把这些=0多余的去掉 展开
1个回答
展开全部
#include<iostream>//包含进C++的标准的输入输出头文件 using namespace std;//使用std命名空间 int main() { char str[200];//用于存储输入的字符串str,200表示程序控制str的最大长度为200,200不是任意定义的 int cnt=0,i;//定义存储字母个数的变量,及循环控制变量 cin>>str;//用户输入字符串,以回车键结束 for(i=0;str[i]='\0';i++)//按位逐个比较str中的字符是否为字母,若为字母,则计数加1 if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z') cnt++; cout<<cnt<<endl; //在dos中输出字母的总个数cnt,并换行 getchar();//这个函数作用不大清楚。个人理解是等待用户输入回车等键,退出DOS return 0;//结束程序,退出程序 }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询