ZZULIOJ 1150 数数多少个整数

题目描述

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

输入

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

输出

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

样例输入 Copy

365grh 27ha578

样例输出 Copy

3

提示

注意:010是两个数字,0和10

来源/分类

***

编码: 

#include<stdio.h>
#include<string.h>
int main()
{
    char s[1000];
    int i=0,j=0;
    int t=0;
    scanf("%[^\n]",s);
    if(s[0]=='0')
    {
       j=1;
       t=1;  //用来标记是s[i]=0
    }

//下述属于字符串首字母为0为非数字的情况,如果首字符为1~9,则应该加 1 
    for(i=1;i<strlen(s);i++)
    {
        if(s[i]=='0'&&((s[i-1]<'0'||s[i-1]>'9')||t==1)) 

                          //判断是不是a0000....类型的或字符串开头为000类型的
        {j++;
        t=1;
        }
        else if(s[i]>'0'&&s[i]<='9'&&((s[i-1]<'0'||s[i-1]>'9')||t==1))

                                                     //判断是不是a097a987类型的
        {j++;
        t=0;
        }
        else t=0;  //排除上述所有情况只剩aaa类型的
    }
    if(s[0]>'0'&&s[0]<='9')  //判断首字符为1~9的情况,结果加 1 .
    j+=1;
    printf("%d",j);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/m0_62055572/article/details/122275340
今日推荐