首页 > 试题广场 >

从键盘输入一串字符,遇到连续三个‘?’字符时结束输入。统计其

[问答题]

从键盘输入一串字符,遇到连续三个‘?’字符时结束输入。统计其中字母(不区分大小写字母)的个数、数字字符的个数和其他字符的个数。

#include"stdio.h"
int main()
{
    char s[10];
    int i,m=0,n=0,k=0;
    int flag=0;
    printf("please input:\n");
    gets(s);
    for(i=0;i<10;i++)
    {
        if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
        {
            flag=1;
            m++;
        }
        else if(s[i]>='0'&&s[i]<='9')
        {
            flag=2;
            n++;
        }
        else if(flag==0)
        {
            k++;
        }
        else if(s[i]=='?'&&s[i+1]=='?'&&s[i+2]=='?')
        {
            break;
        }
    }
    printf("字母个数为%d,数字个数为%d,其它字符个数为%d\n",m,n,k);
    return 0;
}
发表于 2021-01-29 14:34:32 回复(0)
#include <stdio.h>

int main(){
	
	char c;
	int flag;
	int count = 1;
	int digit = 0;
	int chars = 0;
	int other = 0;
	
	while((c = getchar()) != '\n'){
		//为了保证连续 
		if(c == '?'){
			flag = true;		    
		}else{
			flag = false;
		} 
		if(flag && c == '?'){
			++count;
		}
		if(count == 3){
			break;
		}
		
		//数字 
		if(c <= '9' && c >= '0'){
			digit ++;
		}else if((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')){
			chars ++ ;
		}else{
			other ++ ;
		}
	}
	
	printf("%d%d%d",digit,chars,other);
	
}

发表于 2020-05-16 15:40:16 回复(0)