1150: 数数多少个整数

来源:互联网 发布:税务师如何备考知乎 编辑:程序博客网 时间:2024/05/23 11:57

1150: 数数多少个整数

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

SubmitStatusWeb 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;}



原创粉丝点击