C 练习实例17
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析:利用while语句,条件为输入的字符不为'\n'。
实例
// Created by www.facesoho.com on 15/11/9.
// Copyright © 2015年 小鸟启蒙. All rights reserved.
//
#include<stdio.h>
int main()
{
char c;
int letters=0,spaces=0,digits=0,others=0;
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\n",letters,digits,spaces,others);
return 0;
}
以上实例输出结果为:
请输入一些字母: www.facesoho.com 123 字母=12,数字=3,空格=1,其他=2

文人墨客
参考方法:
#include <stdio.h> #include <ctype.h> #define N 100 int main(){ char c1; char str[N]; int lower=0,upper=0,space=0,digit=0,other=0; gets(str); int i=0; while(str[i]){ c1=str[i]; i++; if(islower(c1)) lower++; else if(isupper(c1)) upper++; else if(isspace(c1)) space++; else if(isdigit(c1)) digit++; else other++; } printf("大写字母=%d,小写字母=%d,数字=%d,空格=%d,其他=%d\n",upper,lower,digit,space,other); return 0; }文人墨客
参考方法:
#include<stdio.h> int main(void) { char ch; int alpha,num,space,others; alpha = num = space = others = 0; printf("请输入一些字母:\n"); while((ch = getchar()) != '\n') { if((ch >= 'a' && ch <= 'z')||(ch >='A' && ch <='Z')) alpha++; else if(ch >= '0' && ch <= '9') num++; else if(ch == ' ') space++; else others++; } printf("字母=%d,数字=%d,空格=%d,其他=%d",alpha,num,space,others); return 0; }文人墨客
参考方法:
#include <stdio.h> int main() { int c,i=0, j=0, k=0, l=0; printf("请输入一些字母:\n"); while(c!='\n') { c=getchar(); if( c>96 && c<123 )i++; if( c>64 && c<91 )i++; if( c>47 && c<58 )j++; if( c==32 )k++; l++; // 会多计算一个Eenter,故需在统计时减一; } printf("英文字母%d个,数字%d个,空格%d个,其它字符%d个\n",i,j,k,l-i-j-k-1); }