主题:哪位高手指点一下
welsen
[专家分:0] 发布于 2010-12-19 12:30:00
:统计字符和数字
输入描述:
输入包括多组样例,输入一个字符串,统计字符串中‘a’到‘z’中字母字符出现的次数,以及0到9中各个数字字符出现的次数。
输入-1时终止输入。
输出描述:
分别打印字母字符、数字字符出现的次数。
输入样例:
A1a2b 1b0!@#%^&
输出:
Letters:4
Digits: 4
回复列表 (共5个回复)
沙发
chenhui1111 [专家分:190] 发布于 2010-12-19 17:03:00
#include <stdio.h>
int letter=0;
int digit=0;
void fs()
{
char c=getchar();
if(c!='\n')
fs();
if(c>='a' && c<='z')
{
letter++;
}
else
{
if(c>='0'&&c<='9')
{
digit++;
}
}
}
int main()
{
fs();
printf("Letters:%d\nDigits:%d\n",letter,digit);
return 0;
}
板凳
welsen [专家分:0] 发布于 2010-12-19 19:13:00
这个程序好像不对吧?和题目不符合呀.
3 楼
zjhzcayqw [专家分:110] 发布于 2010-12-20 14:08:00
#include<stdio.h>
int main()
{
char str[100];
int i,k,m;
while(gets(str)!=NULL)
{
m=0;k=0;
for(i=0;str[i]!='\0';i++)
{
if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z'))
k++;
if(str[i]>='0'&&str[i]<='9')
m++;
}
printf("Letters:%d\n",k);
printf("Digits:%d\n",m);
}
return 0;
}
大致的就是这样了,细小的你自己看看。
4 楼
zjhzcayqw [专家分:110] 发布于 2010-12-20 14:28:00
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
int i,k,m,n;
getline(cin,str);
n=str.length();
m=0;k=0;
for(i=0;i<n;i++)
{
if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z'))
k++;
if(str[i]>='0'&&str[i]<='9')
m++;
}
cout<<"Letters:"<<k<<endl;
cout<<"Digits:"<<m<<endl;
return 0;
}
这是C++输入一组数据的代码,你也看看,其实也差不多。
5 楼
welsen [专家分:0] 发布于 2010-12-20 14:49:00
谢谢[em2]
我来回复