3103 - 【创新型】第9章: 指针 9.18 统计个数啦

通过次数

0

提交次数

0

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

请同学们学习完第十章之后再来做此题。。。

------------------------------------------------------------------------------------------------------------------------------------------------

编写一个函数,用于统计一个字符串中字母、数字、空格的个数。在主函数中输入该字符串后,调用上述函数,并输出统计结果。要求用指针实现。

题目输入

输入一个字符串,字符串中包含数字,字母,空格,符号等(但是只统计字母,数字,空格的数量)

题目输出

桑格数字,用户空格隔开

输入/输出样例

输入格式

shJicIhaAo%^& * 456

输出格式

10 3 2

C语言解答

#include <stdio.h>
#include <string.h>
void fun(char *p,int m);
int main()
{
	char a[80];
	int n;
	fgets(a,sizeof(a),stdin);
	n=strlen(a);
	fun(a,n);
	return 0;
}
void fun(char *p,int m)
{
	int i,p1=0,p2=0,p3=0;
	for(i=0;i<m;i++)
	{
		if(p[i]>='0' && p[i]<='9')
			p1++;
		if(p[i]>='A' && p[i]<='Z'||p[i]>='a' && p[i]<='z')
			p2++;
		if(p[i]==' ')
			p3++;
	}
	printf("%d %d %d",p2,p1,p3);
}

C++解答

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