//输入一行字符,分别统计其中英文字母,空格,数字和其它字符的个数
#include <stdio.h>
#include <string.h>
#define MaxSize 100
int main()
{
char str[MaxSize];
int i,len;
int count1 = 0, count2 = 0, count3 = 0, count4 = 0;
printf ("请输入要字符串的文本:");
gets(str);
//cin.getline(str,MaxSize,'*') //读入数据,直到*退出
//scanf("%s", str);
len = strlen (str);
str[len] = '\0';
for (i = 0; i < len; i++)
if (str[i] < '9' && str[i] > '0')
count1 ++;
else if ((str[i] > 'a' && str[i] < 'z') || (str[i] > 'A' && str[i] < 'z'))
count2 ++;
else if (str[i] == 32) // str[i] == ' '
count3 ++;
else
count4 ++;
printf ("输入的字符串中:\n");
printf ("数字的个数为:%d\n", count1);
printf ("字符的个数为:%d\n", count2);
printf ("空格的个数为:%d\n", count3);
printf ("其它字符的个数为:%d\n", count4);
return 0;
}
//方法二
#include <stdio.h>
int main()
{
char c;
int letters=0, space=0, digit=0, others=0;
printf("Please input some characters:\n");
while ((c=getchar())!='\n')
{
if ((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{
letters++;
}
else if (c==' ')
{
space++;
}
else if(c>='0'&&c<='9')
{
digit++;
}
else
{
others++;
}
}
printf("all in all: char=%d, space=%d, digit=%d, others=%d\n",
letters, space, digit, others);
return 0;
}
方法三:
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main()
{
string str;
int dig=0, pha=0, spa=0, other=0;
getline(cin, str); //输入一行文本,直到换行符
cout << str << endl;
for (size_t ix=0; ix != str.size(); ix++)
{
if (isdigit(str[ix]))
{
dig++;
}
else if(isalpha(str[ix]))
{
pha++;
}
else if(isspace(str[ix]))
{
spa++;
}
else
{
other++;
}
}
cout << "dig=" << dig << endl;
cout << "pha=" << pha << endl;
cout << "spa=" << spa << endl;
cout << "other" << other << endl;
return 0;
}
输入一行字符,分别统计其中英文字母,空格,数字和其它字符的个数
最新推荐文章于 2023-12-08 12:29:03 发布