求大佬指教 2021-10-12 08:04 采纳率: 78.6%
浏览 136
已结题

do- while格式写1.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

do- while格式写1.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

  • 写回答

2条回答 默认 最新

  • 胸毛男 2021-10-12 08:36
    关注

    你应该是想要这种 do while 输入的
    总有一个 其他 其他是回车

    
    #include "stdafx.h"
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        printf("请输入一行字符!\n");
        char Buf[WCHAR_MAX] = {'\0'};
        int ipos = -1;
        do
        {
            ipos++;
            scanf_s("%c", &Buf[ipos]);
    
        } while (Buf[ipos]!='\n');
    
        int iZiMu_KongGe_ShuZi_QiTa[4] = { 0 };
        for (int i = 0; i < ipos+1; i++)
        {
            if ((Buf[i] >= 'a' && Buf[i] <= 'z') || (Buf[i] >= 'A' && Buf[i] <= 'A'))// 字母
            {
                iZiMu_KongGe_ShuZi_QiTa[0]++;
            }
            else if (Buf[i]==' ')// 空格
            {
                iZiMu_KongGe_ShuZi_QiTa[1]++;
            }
            else if ((Buf[i] >= '0' && Buf[i] <= '9'))// 数字
            {
                iZiMu_KongGe_ShuZi_QiTa[2]++;
            }
            else// 其他
            {
                iZiMu_KongGe_ShuZi_QiTa[3]++;
            }
        }
    
        printf("输入为%s\n", Buf);
    
        printf("英文字母 %d个,空格 %d个,数字 %d个,其他%d个\n", 
            iZiMu_KongGe_ShuZi_QiTa[0], 
            iZiMu_KongGe_ShuZi_QiTa[1], 
            iZiMu_KongGe_ShuZi_QiTa[2],
            iZiMu_KongGe_ShuZi_QiTa[3] );
    
        _tsystem(L"pause");
        return 0;
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月12日
  • 创建了问题 10月12日

悬赏问题

  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形