两种方法:实现输入一行字符,统计数字字符、英文字母和其他字符的个数(C语言)

C语言中:gets和getchar的区别以及指针的运用

方法一:

使用gets实现

#include<stdio.h>

void main()

{

    char str[80], * p;

    int digit,letter,other;

    gets(str);

    p = str;

    digit = letter = other = 0;

    while (*p != '\0')

    {

         if ((*p >= 'A' && *p <= 'Z')|| (*p >= 'a' && *p <= 'z'))

             letter++;

         else if (*p >= '0' && *p <= '9')

             digit++;

         else

             other;

         p++;

    }

    printf("digit=%d letter=%d other=%d\n", digit, letter, other);

}

方法二:

使用getchar实现

#include<stdio.h>

void count(char* s, int* digit, int* letter, int* other)

{

    *digit = *letter = *other = 0;

    while (*s!='\0')

    {

         if (*s >= '0' && *s <= '9')

             (*digit)++;

         else if ((*s >= 'a' && *s <= 'z') || (*s >= 'A' && *s <= 'Z'))

             (*letter)++;

         else

             (*other)++;

         s++;

    }

}

void main()

{

    int i = 0, digit, letter, other;

    char ch, str[80];

    printf("Enter characters:\n");

    ch = getchar();//getchat读取字符

    while (ch !='\n')

    {

         str[i] = ch;

         i++;

         ch = getchar();

    }

    str[i] = '\0';

    count(str, &digit, &letter, &other);

    printf("digit=%d letter=%d other=%d\n", digit, letter, other);

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值