现在有点烦

本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。

输入格式:

输入为10个字符。最后一个回车表示输入结束,不算在内。

输出格式:

在一行内按照

letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数
 

的格式输出。

输入样例:

aZ &
09 Az
 

输出样例:

letter = 4, blank = 3, digit = 2, other = 1









两种方法,循环加数组;

#include<stdio.h>
int main()
{
char str[10];
int i,letter=0,blank=0,digit=0,other=0;
for(i=0;i<10;i++)
{
scanf("%c",&str[i]);
if( ( str[i]>='a'&&str[i]<='z')||( str[i]>='A'&&str[i]<='Z') )
{
letter++;
}else if(str[i]==' '||str[i]==' '){
blank++;
}else if(str[i]>='0'&&str[i]<='9')
{
digit++;
}else
{
other++;
}

}

printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank,digit,other);


return 0;
}

///第二种

#include<stdio.h>
int main()
{
int letter=0,blank=0,digit=0,other=0,i;
char str;
for(i=0;i<10;i++)
{
scanf("%c",&str);

if( (str>='a'&&str<='z') || (str>='A'&&str<='Z') )
{
letter++;
}else if(str==' '||str==' ')//CR指回车
{
blank++;
}else if(str>='0'&&str<='9')
{
digit++;
}else
{
other++;
}

}
printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank,digit,other);
return 0;
}

只供自己学习参考,方便自己知道做过哪些题目。偶尔会附上别人写的代码(整张截图)供自己学习和对比,若题主不同意,可删
原文地址:https://www.cnblogs.com/wven/p/12581613.html