1828 - 课后习题6.2

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

题目输入

一行字符

题目输出

统计值

输入/输出样例

输入格式

aklsjflj123 sadf918u324 asdf91u32oasdf/.';123

输出格式

23 16 2 4

C语言解答

#include<stdio.h>
int main()
{
	int i,c=0,s=0,t=0,k=0;
	char str[200];
	gets(str);
	for(i=0;str[i]!='\0';i++)
	{
		if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
			c++;
		else
		{
			if(str[i]==' ')
				s++;
			else
			{
				if(str[i]>='0'&&str[i]<='9')
					t++;
				else
					k++;
			}
		}
	}
	printf("%d %d %d %d\n",c,t,s,k);
}

C++解答

#include<bits/stdc++.h>
using namespace std;
string n;
long long a,b,c,d;
int main()
{
    getline(cin,n);
    for(int i=0;i<n.size();i++)
    {
        if(n[i]>='a' && n[i]<='z' || n[i]>='A' && n[i]<='Z')a++;
        else if(n[i]>='1' && n[i]<='9')b++;
        else if(n[i]==' ')c++;
        else d++;
    }cout<<a<<" "<<b<<" "<<c<<" "<<d;
    return 0;
}