C语言详解-如何统计一组字符中数字、字母、空格等字符的个数

一、如何获取一个字符

      这里运用了getchar()这个函数方法。

二、如果是一串的字符该如何获取

      这里使用了while循环,循环的结束标记是\n 回车键按下后表示字符输入结束。

三、字符在ASCII码中对应的十进制数值

      由下表可知。

    ①小写字母的ASCII码对应的是:97~122

    ②大写字母的ASCII码是:65~90

   ③数字:48~57

   ④空格:32

0 NUL         32 SPACE       64 @           96 `
1 SOH         33 !           65 A           97 a
2 STX         34 "           66 B           98 b
3 ETX         35 #           67 C           99 c
4 EOT         36 $           68 D          100 d
5 ENQ         37 %           69 E          101 e
6 ACK         38 &           70 F          102 f
7 BEL         39 '           71 G          103 g
8 BS          40 (           72 H          104 h
9 HT          41 )           73 I          105 i
10 LF         42 *           74 J          106 j
11 VT         43 +           75 K          107 k
12 FF         44 ,           76 L          108 l
13 CR         45 -           77 M          109 m
14 SO         46 .           78 N          110 n
15 SI         47 /           79 O          111 o
16 DLE        48 0           80 P          112 p
17 DC1        49 1           81 Q          113 q
18 DC2        50 2           82 R          114 r
19 DC3        51 3           83 S          115 s
20 DC4        52 4           84 T          116 t
21 NAK        53 5           85 U          117 u
22 SYN        54 6           86 V          118 v
23 ETB        55 7           87 W          119 w
24 CAN        56 8           88 X          120 x
25 EM         57 9           89 Y          121 y
26 SUB        58 :           90 Z          122 z
27 ESC        59 ;           91 [          123 {
28 FS         60 <           92 \          124 |
29 GS         61 =           93 ]          125 }
30 RS         62 >           94 ^          126 ~
31 US         63 ?           95 _          127 DEL

四、采用对应ASCII码对应十进制数值的代码

#include <stdio.h>
int main()
{
    printf("请输入一行字符串:");
    char c;
    int letter=0;
    int number=0;
    int space=0;
    int others=0;
    c = getchar();
    while (c!='\n')
    {
        if ((c>=97&& c<=122) || (c>=65 && c<=90))
        {
            letter++;
        }
        else if (c>=48&& c<=57)
        {
            number++;
        }
        else if (c==32)
        {
            space++;
        }
        else
        {
            others++;
        }
        c = getchar();
    }
    printf("字母=%d,数字=%d,空格=%d,其他=%d\n",
    letter,number,space,others);
    return 0;
}

四、采用引用字符的代码,使用''引号

#include <stdio.h>
int main()
{
    printf("请输入一行字符串:");
    char c;
    int letter=0;
    int number=0;
    int space=0;
    int others=0;
    c = getchar();
    while (c!='\n')
    {
        if ((c>='a'&& c<='z') || (c>='A' && c<='Z'))
        {
            letter++;
        }
        else if (c>='0'&& c<='9')
        {
            number++;
        }
        else if (c==' ')
        {
            space++;
        }
        else
        {
            others++;
        }
        c = getchar();
    }
    printf("字母=%d,数字=%d,空格=%d,其他=%d\n",
    letter,number,space,others);
    return 0;
}

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值