#include<stdio.h>int main(void){ int q=0,y=0,s=0,k=0; char c; while((c=getchar() != '\n')) { if(c=' ') k+=1; else if(c>='0' && c<='9') s+=1; else if((c>='a' && c<='z') || (c>='A' && c<='Z')) y+=1; else q+=1; } printf("字母个数为%d\n空格个数为%d\n数字个数为%d\n其他个数为%d\n",y,k,s,q); return 0;}为什么只计算空格得数
1 回答
慕用4063026
TA贡献195条经验 获得超115个赞
你那个第一句if(c=' ')这是赋值语句了,判断的全是空格。看我这个简单点 #include <stdio.h> #include <stdlib.h> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main(int argc, char *argv[]) { int a,b,c,d,i; char op; printf("请输入十个字符\n"); a=b=c=d=0; i=1; for (i=1;i<=10;i++) {op=getch(); if ((op>='a'&&op<='z')||(op>='A'&&op<='Z')) { a++; putchar(op); } else if (op==' ') { b++; putchar(op); } else if(op==13) { b++; printf("←"); } else if ((op>='1')&&(op<='9')) { c++; putchar(op); } else { d++; putchar(op); } } printf("英文字母的个数为%d\n回车或者空格的个数为%d\n数字的个数为%d\n其他字符的个数为%d\n",a,b,c,d); return 0; }
- 1 回答
- 0 关注
- 1230 浏览
添加回答
举报
0/150
提交
取消