编写一个程序,计算一串字符中字母、空格、数字以及其他标识符的出现次数并输出,并将字母和数字按顺序存储到对应数据类型的数组中,且字母需要进行大小写转化,并输出。计算与输出要用函数调用形式。
1条回答 默认 最新
- fuill 2022-01-06 21:24关注
#include <stdio.h> #include <string.h> char lt[250]; int num[250]; int letters=0,space=0,digit=0,other=0; int j=0,t=0,n=0; void f1(char c[]) { while (j<strlen(c)) { if ((c[j] >= 'a'&&c[j] <= 'z') || (c[j] >= 'A'&&c[j] <= 'Z')) { letters++; if(c[j]<='z'&&c[j]>='a') lt[t++]=c[j]-32; if(c[j]<='Z'&&c[j]>='A') lt[t++]=c[j]+32; } else if (c[j] == ' ') { space++; } else if (c[j] >= '0'&&c[j] <= '9') { digit++;num[n++]=c[j]-48; } else { other++; } j++; } } void f2() { j=0; printf("字母为:"); while(j<t) { printf("%c",lt[j]); j++; } j=0; printf("\n数字为:"); while(j<n) { printf("%d",num[j]); j++; } printf("\n"); } int main() { char c[250]; printf("请输入一行字符:"); gets(c); f1(c); printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符:%d\n",letters,space,digit,other); f2(); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥15 请提供一个符合要求的网页链接。
- ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
- ¥15 网络设备配置与管理这个该怎么弄
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码