1150: 数数多少个整数

1150: 数数多少个整数

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 1378   Solved: 805

Submit Status Web Board

Description

小明的老师给小明出了一道题目:数数一篇文章出现了多少个数字,请你帮帮他吧。

Input

输入一个字符串,由空格、英文字母、数字组成,以回车结束,长度小于1000。

Output

输出整数个数(不是数字字符个数哦)。

Sample Input

5436grh 74h74 57 74rg 63664greg743

Sample Output

7

HINT

Source

。。。



#include<iostream>
#include<string.h>
#include<cmath>
using namespace std;
int  main ()
{
      char str[10001];
	  gets(str);
      int len =0;
	  len=strlen(str);
	  //cout<<len<<endl;
	  int flag=0,count=0;
      for (int i=0 ; i<len ; i++)
	  {
	      if ( str[i]>='0' && str[i]<='9')
		  {
               flag=1;
			   continue;  //跳过本次循环继续下次的循环
		  } //每次遇到数字继续循环,直到下一个是字母运行else
		  else
		  {
		        if ( flag==1 )
				{
				  count++;
				}
                flag=0;  //将flag置为0,继续寻找下一个整数
		  }
	  }
  if ( flag==1 ) //for循环遇到的所有整数flag都被置为0
		  count++;  //最后一个整数后面没有了,直接退出循环少算了
      cout<<count<<endl;

  return 0;	  
}

#include<iostream>
#include<cstring>
using namespace std;

int   main ()
{
	char str[10001]={0};//初始化
	gets(str);
	
	int len =0,count=0,flag=0;
	len = strlen(str) ;
    for (int i=0 ; i<len ; i++)
	{    
		
	     if (str[i]>='0' && str[i] <= '9')
		 {                  
	          if (flag==0)  //两个if同时满足时count才加一
			  {
			      count++;
				  flag=1;
			  }
		 }
		 else  //遇到的如果是字母的话置为0后 
		 {     //到下一层循环,如果开头是数字加一,则第二个数字就不再加一,因为flag置为1了
			   //保证了不能重复计算数字
		      flag=0;
		 }
	}
	cout<<count<<endl;
return 0;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值