其實字元都是可以比較大小的,你定義兩個變數i,j,在標點的範圍裡就i++其他字元就j++就夠了啊。我不知道你的具體要求,所以不好給你程式啊。因為標點也是屬於字元的,你去看下那個ASC碼錶。看你是要統計數字還是普通標點還是字母咯。這是我以前寫的一個統計字串中字母個數的程式,你可以看下:#include<iostream>
using namespace std;
#define M 26
#define N 256
int main()
{
int i,n;char m[N];char ch[M];int cc[M]={0};
cout<<"請輸入一串字元長度不超過256"<<endl;
cin.getline(m,256);//這是輸入一個字串
ch[0]="a";
for(n=1;n<M;n++)
ch[n]=ch[n-1]+1;
for(i=0;m[i];i++)
for(n=0;n<M;n++)
if(m[i]==ch[n]||m[i]==ch[n]-32){cc[n]++;break;}
for(i=0;i<M;i++){if(cc[i]!=0)cout<<"字串中"<<ch[i]<<"的個數為"<<cc[i]<<endl;}
system("PAUSE");
return 0;
}
其實字元都是可以比較大小的,你定義兩個變數i,j,在標點的範圍裡就i++其他字元就j++就夠了啊。我不知道你的具體要求,所以不好給你程式啊。因為標點也是屬於字元的,你去看下那個ASC碼錶。看你是要統計數字還是普通標點還是字母咯。這是我以前寫的一個統計字串中字母個數的程式,你可以看下:#include<iostream>
using namespace std;
#define M 26
#define N 256
int main()
{
int i,n;char m[N];char ch[M];int cc[M]={0};
cout<<"請輸入一串字元長度不超過256"<<endl;
cin.getline(m,256);//這是輸入一個字串
ch[0]="a";
for(n=1;n<M;n++)
ch[n]=ch[n-1]+1;
for(i=0;m[i];i++)
for(n=0;n<M;n++)
if(m[i]==ch[n]||m[i]==ch[n]-32){cc[n]++;break;}
for(i=0;i<M;i++){if(cc[i]!=0)cout<<"字串中"<<ch[i]<<"的個數為"<<cc[i]<<endl;}
system("PAUSE");
return 0;
}