有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。
【答案解析】
获取文章中的3...
用户登录可进行刷题及查看答案
获取文章中的3行文本,并对每行文本进行以下操作
定义保存结果变量:upp、low、digit、space、other 遍历每行文本中的字符 如果该字符ch:ch >= ‘a’ && ch <=‘z’,则该字符是小写字母,给low++ 如果该字符ch:ch >= ‘A’ && ch <=‘Z’,则该字符是小写字母,给up++ 如果该字符ch:ch >= ‘0’ && ch <=‘9’,则该字符是小写字母,给digit++ 如果该字符ch:ch == ’ ',则该字符是小写字母,给space++ 否则为其他字符,给other++ 输入统计结果
#include <stdio.h> int main() { int upp = 0, low = 0, digit = 0, space = 0, other = 0; char text[3][80]; for (int i=0; i<3; i++) { // 获取一行文本 printf("please input line %d:\n",i+1); gets(text[i]); // 统计该行文本中小写字母、大写字母、数字、空格、其他字符的个数 for (int j=0; j<80 && text[i][j]!='\0'; j++) { if (text[i][j]>='A'&& text[i][j]<='Z') // 大写字母 upp++; else if (text[i][j]>='a' && text[i][j]<='z') // 小写字母 low++; else if (text[i][j]>='0' && text[i][j]<='9') // 数字 digit++; else if (text[i][j]==' ') // 控制 space++; else other++; // 其他字符 } } printf("\nupper case: %d\n", upp); printf("lower case: %d\n", low); printf("digit : %d\n", digit); printf("space : %d\n", space); printf("other : %d\n", other); return 0; }
登录后提交答案
暂无评论,来抢沙发