1150: 数数多少个整数

xiaoxiao2021-02-28  122

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

转载请注明原文地址: https://www.6miu.com/read-35050.html

最新回复(0)