求一个c语言程序,输入一串字符,以'#'结尾,并统计其中数字,字母,空格和其他字符的个数

如题所述

下面是完整程序。输入一串 字符,可以是 大小写字母,数字,符号(含任意个数 回车,换行,空白 等等) ,一旦拍入 #号,就输出 数字个数,字母个数,空格 和其它
#include <stdio.h>
int main(){
char s[1000];
int c;
int i,n=0;
int n_num=0, n_letter=0, n_sp=0, n_other;
printf("input your strings and press # as the end:\n");
while(1){
c = _getch();
if (c == '#') {s[n]='\0'; break;};
if (c ==' ') n_sp++;
else if (c>='0' && c <='9') n_num++;
else if ( (c>='a' && c<='z') || (c>='A' && c<='Z')) n_letter++;
else n_other++;
s[n]=c;n++;
}
printf("n_num=%d n_letter=%d n_sp=%d n_other=%d\n",n_num, n_letter,n_sp,n_other);
printf("you input was:\n%s\n",s);
//for (i=0;i<n;i++) printf("%c",s[i]);
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-02-09
#include<stdio.h>
int main()
{
    char c;
    int num=0,lett=0,bar=0,others=0;
    scanf("%c",&c);
    while(c!='#')
    {
        if(c==' ') bar++;
        else if(c>='0'&&c<='9') num++;
        else if(c>='a'&&c<='z' || c>='A'&&c<='Z') lett++;
        else others++;
        scanf("%c",&c);
    }
    return 0;
}

...输入一串字符(以回车键结束),统计其中数字、字母和空格字符的...
string str="abc123 ";int t1=0;\/\/数字个数 int t2=0;\/\/字母个数 int t3=0;\/\/空格数 for(int i=0;i<str.length;i++){ if(用正则表达式来判定str.substring(i,1)的值是否为数字){ t1++;} else if(用正则表达式来判定str.substring(i,1)的值是否为字母){ t2++;} else if(用...

...分别统计出其中英文字母,空格,数字和其他字符的个数。
printf("请输入一串任意的字符:\\n");while((c=getchar())!='\\n'){ if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))letters++;else if(c>='0'&&c<='9')digits++;else if(c==' ')spaces++;else others++;} printf("字母有%d个,数字有%d个,空格有%d个,其他有%d个",let...

...统计出其中英文字母、空格、数字和其他字符的个数.
printf("\\n其中的英文字母个数为 %d\\n",count1);printf("\\n其中的空格个数为 %d\\n",count2);printf("\\n其中的数字个数为 %d\\n",count3);printf("\\n其中的其他字符个数为 %d\\n",count4);}

c语言:输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个...
} printf("英文字母:%d\\n",m);printf("数字字符:%d\\n",n);printf("空格:%d\\n",b);printf("其他字符:%d\\n",c);return 0;}

...统计出其中英文字母、空格、数字和其他字符的个数
呵呵,下面是C的,其实这里输入的时候输入空格就被认为输入中止,所以计算空格没意义,所以目前有个假设空格能输入哈 include<stdio.h> void main(){ int nE=0,nS=0,nN=0,nO=0,i=0;char a[1000];scanf("%s",a);while (a[i]!='\\0') { if (a[i]<='z' && a[i]>='a' || a[i...

...统计出其中英文字母、空格、数字和其他字符的个数
') c++;else f++;} printf("字母个数%d,数字个数%d,空格个数%d,其余符号个数%d\\n",a,b,c,f);return 0;} 这是我改的 ~scanf("%s",e); 这样输入字符串 遇到空格就会停止的 所以用gets for(d=0;e[d]!='\\n';d++) 字符串结束应该是\\0 而\\n是换行 这样就ok了 ...

...分别统计其中英文字母、空格、数字和其他字符的个数。
void main(){ int w=0,k=0,n=0,z=0; \/\/w为字母个数,k为空格个数,n为数字个数,z为其他字符个数 char ch;scanf("%c",&ch);while(ch!='@'){ if ( ch>='A'&&ch<='z' )w++;else if ( ch==' ' ) \/\/这里你少写个‘=’号,以后要细心啊 k++;else if ( ch>=...

...分别统计出其中英文字母,空格,数字和其他字符的个数.(C语言)_百度...
include<stdio.h>int main(){char str[100];int word = 0, blank = 0, num = 0, other = 0;int i = 0;gets(str);while (str[i] != '\\0'){if ((str[i]>= 'a' && str[i] <= 'z') || (str[i]>= 'A' && str[i] <= 'Z')){word++;}else if ((str[i]>=...

...统计出大写字母,小写字母,空格,数字和其他字符?
C代码和运行结果如下:统计结果正确,望采纳~附源码:include <stdio.h> int main() { char s[100];fgets(s, 100, stdin); \/\/ 输入一行字符,包括行尾的'\\n'int i = 0, upper = 0, lower = 0, space = 0, digit = 0, other = 0;while (s[i] != '\\n') { if (s[i] ...

...统计求出其中英文字母、空格、数字和其他字符的个数并输出结果_百度...
i++; \/*i存入字母数*\/ } else if(s==' ') j++; \/*j存入空格数,注意s==' '里面是有一个空格的*\/ else if(s47)k++; \/*k存入数字数*\/ else m++; \/*m存入其它符号数*\/ } printf("char:%d Capital letters:%d Lowercase%d\\nspec:%d\\nnumber:%d\\nOther:%d\\n",i,da,xiao,j...

相似回答