c语言 从键盘输入一行字符,分别统计其中数字字符,字母字符和其他字符的个数
main()
{
int zm=0,kg=0,sz=0,qt=0;
char c;
while( (c = getchar()) != '
' ) //c=getchar是从键盘获取一个字符并赋值给c,
是换行的意思
{
if( (c>='a'&&c='A'&&c<='Z') ) zm++;
else if( c>='0'&&c<='9' ) sz++;
else if( c==' ' ) kg++;
else qt++;
}
printf("字母=%d,数字=%d,空格=%d,其他=%d
",zm,sz,kg,qt);
}
#include void main(){ int letter, space, digit, other; char ch; letter = space = digit = other = 0; while ((ch = getchar ()) != '
') { if (ch>='a' && ch ='A'&&ch='0' && ch <='9') digit++; else if (ch == ' ') space++; else other++; } printf ("字母:%d
", letter); printf ("空格:%d
", space); printf ("数字:%d
", digit); printf ("其它字符:%d
", other);}
可以参考下面的代码:
#include <stdio.h>
intmain()
{
inta,b,c,ch;
a=b=c=0;//计数器初始化为0.
while((ch=getchar())!='
')//循环读取字符,到换行结束。
{
if(ch>='0' && ch<='9')//数字
a++;
else if((ch>='a' && ch<='z')||(ch>='A' && ch<='Z'))//字母
b++;
else//其它
c++;
}
printf("%d%d%d
",a,b,c);//输出结果。
return0;
}
扩展资料:
printf()函数函数
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。函数的原型为:
int printf(const char *format, ...);
函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值,printf()函数的调用格式为:
printf("<格式化字符串>", <参量表>);
while语句的一般表达式为:while(表达式){循环体}。
参考资料来源:百度百科-printf()
参考资料来源:百度百科-while (循环语句及英文单词)
一、问题分析:
输入一行字母,那么会以换行结束。所以可以存入数组,也可以逐个输入,遇到换行结束。
要统计各个类的个数,就要逐个判断是哪个分类的。
由于在ASCII码中,数字,大写字母,小写字母分别连续,所以可以根据边界值判断类型。
二、算法设计:
1、读入字符,直到遇到换行结束。
2、对于每个字符,判断是字母还是数字,或者是其它字符。
3、对于每个字符判断后,对应类别计数器自加。
4、最终输出结果。
三、参考代码:
#include <stdio.h>
int main()
{
int a,b,c,ch;
a=b=c=0;//计数器初始化为0.
while((ch=getchar())!='
')//循环读取字符,到换行结束。
{
if(ch>='0' && ch<='9')//数字
a++;
else if((ch>='a' && ch<='z')||(ch>='A' && ch<='Z'))//字母
b++;
else //其它
c++;
}
printf("%d %d %d
", a,b,c);//输出结果。
return 0;
}
#include <stdio.h>
int main()
{
char str[101]={'\0'};
int i;
int c=0,number=0,others=0;
c=number=others=0;
gets(str);//输入一串字符
for(i=0;str[i]!='\0';i++)//判断是否结束
{
if(str[i]>='A'&&str[i]<='z')//判断是否是字母是则加1
c++;
else if(str[i]>='0'&&str[i]<='9')//判断是否为数字
number++;
else
others++;//都不是则其他字符计数
}
printf("字符个数:%d\t数字个数:%d\t其他字符个数:%d\n",c,number,others);
}
#include <stdio.h>
int main()
{
char str[101]={'\0'};
int i;
int c,number,others;
c=number=others=0;
gets(str);
for(i=0;str[i]!='\0';i++)
{
if(str[i]>='A'&&str[i]<='z')
c++;
else if(str[i]>='0'&&str[i]<='9')
number++;
else
others++;
}
printf("字符个数:%d,数字个数:%d,其他字符个数:%d\n",c,number,others);
return 0;
}
#include<stdio.h>
#include<string.h>
int main() {
printf("请输入一个字符:\n");
int alp,num,oth;
alp = 0;
num = 0;
oth = 0;
char str[50];
scanf("%s", &str);
for (int i = 0; str[i] !='\0'; i++)
{
if (str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'Z') {
alp++;
}
else
{
if (str[i] >='0'&& str[i] <='9')
{
num++;
}
else {
oth++;
}
}
}
printf("alp=%d,num=%d,oth=%d\n", alp, num, oth);
}
陟虎新赛: #include <stdio.h> void main() {char line[30];int i,count1=0,count2=0,count3=0,count4=0;printf("\n请输入一行字符: ");gets(line);i=0;while(line[i]!='\0'){if(((line[i]>=97) && (line[i]<=122))||((line[i]>=65) && (line[i]<=90))){count1++;}...
绥宁县18060894773: c语言程序题:输入一行字符,分别统计并且按照顺序排列其中的数字和字母 - ?
陟虎新赛: #include "stdio.h" main() {char zifu[100],zimu[100],shuzi[100] ;int i=0;int zm=0,sz=0;//zimu和shuzi数组的索引值printf("请输入一行字符(数目小于100个)\n");//提示用户输入一行字符并换行do{scanf("%c",&zifu[i]);//将用户输入...
绥宁县18060894773: C语言 输入一行字符,分别统计求出其中英文字母、空格、数字和其他字符的个数并输出结果 - ?
陟虎新赛: ||#include "stdio.h" void main() {char s;int i=0,j=0,k=0,m=0,da=0,xiao=0;printf("please input the string\n");while((s=getchar())!='\n') /*循环从键盘读入字符直到一行结束(输入回车)*/{if((s='a')||(s'A')) {if(s='A')da++;if(s='a')xiao++;i++; ...
绥宁县18060894773: C语言编程 从键盘输入一个字符串,分别统计其中大写字母、小写字母及其其他字符的个数,并输出. - ?
陟虎新赛: #include<stdio.h> #include<ctype.h> int main() {int i,a[5];char s[200];gets(s);for(i=0;s[i];i++)if(isupper(s[i]))a[0]++;else if(islower(s[i]))a[1]++;else if(s[i]==' ')a[2]++;else if(isdigit(s[i]))a[3]++;else a[4]++;printf("英文大写字母有%d个\n",a[0])...
绥宁县18060894773: C语言编程 1输入一行字符,分别统计出其中的英文字母,空格,数字和其它字符的个数. - ?
陟虎新赛: C语言经典例子之统计英文、字母、空格及数字个数
绥宁县18060894773: C语言:输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数 - ?
陟虎新赛: #include int main(){ int i,n,eng=0,spa=0,num=0,oth=0; char str[100]; gets(str);n=strlen(str); for(i=0;iif(str[i]>='a'&&str[i]='A'&&str[i]eng++; else if(str[i]==' ') spa++; else if(str[i]>='0'&&str[i]else oth++; printf("英文字母:%d\n空格:%d\n数字:%d\n其他字符:%d",eng,spa,num,oth); return 0; }
绥宁县18060894773: C语言编程,输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数 - ?
陟虎新赛: 以下程序在win-tc下调试通过 /* 输入一行文字 找出其中大写字母小写字母空格数字及其他字符各有多少 */ # include "stdio.h"# include "conio.h" void main(void) { int upper=0,lower=0,digit=0,space=0,other=0,i=0; char *p,s[80]; printf("\nInput a...
绥宁县18060894773: C语言 输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数.?
陟虎新赛: #include<stdio.h> #include<string.h> main() {char c[100]; int i,n,digital=0,blank=0,other=0,ch=0; printf("please input the string:\n"); gets(c); n=strlen(c); for(i=0;i<n;i++) {if((c[i]>='a'&&c[i]<='z')||(c[i]>='A'&&c[i]<...
绥宁县18060894773: C语言题目输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数. - ?
陟虎新赛: 错误代码: 1.'a'<=nextchar<='z'||'A'<=nextchar<='Z'; 2.'0'<=nextchar<='9'. 错误原因:当多个条件时,需要使用逻辑运算符. 修改后代码为: int main(void){ int letters = 0, spaces = 0, digits = 0, others = 0; char c; printf("输入一行字符串:\n"...
绥宁县18060894773: c语言编写程序.输入一行字符,分别统计其中的英文字母,数字和其他字符的个数?
陟虎新赛: #include <stdio.h> main() {int x=0,y=0,z=0; char ch; ch=getchar(); while(ch!='\n') { if(ch>=65&&ch<=90 || ch>=97&&ch<=122) x++; else if(ch>48&&ch<57) y++; else z++; ch=getchar(); } printf("英文字母有:%d个,数字有:%d个,其它字符有:%d个",x,y,z); }