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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报