ZZULIOJ 1150: 數數多少個整數

題目描述

小明的老師給小明出了一道題目:數數一篇文章出現了多少個數字,請你幫幫他吧。

輸入

輸入一個字符串,由空格、英文字母、數字組成,以回車結束,長度小於1000。

輸出

輸出整數個數(不是數字字符個數哦)。

樣例輸入

365grh 27ha578

樣例輸出 

3

提示

注意:010是兩個數字,0和10

 

tips:

1 統計有多少個數字,採用標誌位判斷法,默認flag=0 ,如果碰到一個字符爲數字,總數+1 然後標誌位置 1  如遇到下一個數字      flag變爲0

2  遇到010爲兩個數字的,字符爲0 flag=0 下一位爲數字  總數+1   跳出這次循環

 

#include<stdio.h>
#include<ctype.h>
int main(){
	char buf[1000];
	int count = 0;
	int flag = 0;
	gets(buf);
	
	for (int i = 0; i < strlen(buf); i++) 
	{   
		if (isdigit(buf[i]) && flag==0)  //正常的統計 eg:12345這種
		{
			if (buf[i]=='0'&&isdigit(buf[i+1]))  //特殊情況 010
			{
				count++;
				flag = 0;
				continue;
			}
			count++;
			flag = 1;
		}
		if (!isdigit(buf[i]))
		{
			flag = 0;
		}
	}
	

	printf("%d\n", count);

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章