习题 8.8 输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少。
2023-09-14 09:06:56 时间
C程序设计(第四版) 谭浩强 习题8.8 个人设计
习题 8.8 输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少。
代码块:
#include <stdio.h>
void function(char *s, int (*p)(char *st)); //定义功能函数
int big(char *st); //定义大写字母函数
int small(char *st); //定义小写字母函数
int space(char *st); //定义空格函数
int number(char *st); //定义数字函数
int other(char *st); //定义其他字符函数
int main()
{
char str[20], *p=str;
printf("Please enter string: "); //输入字符串
gets(p);
function(p, big); //调用功能函数
function(p, small);
function(p, space);
function(p, number);
function(p, other);
return 0;
}
//功能函数
void function(char *s, int (*p)(char *st))
{
int out;
out=(*p)(s);
printf("%d\n", out);
}
//大写字母函数
int big(char *st)
{
for (int i=0; *st; *st>='A'&&*st<='Z' ? i++, st++ : st++);
printf("Big=");
return i;
}
//小写字母函数
int small(char *st)
{
for (int i=0; *st; *st>='a'&&*st<='z' ? i++, st++ : st++);
printf("Small=");
return i;
}
//空格函数
int space(char *st)
{
for (int i=0; *st; (*st==' ')||(*st=='\t')||(*st=='\n') ? i++, st++ : st++);
printf("Space=");
return i;
}
//数字函数
int number(char *st)
{
for (int i=0; *st; (*st>='0')&&(*st<='9') ? i++, st++ : st++);
printf("Number=");
return i;
}
//其他字符函数
int other(char *st)
{
for (int i=0; *st; (*st<'A'||(*st>'Z'&&*st<'a')||*st>'z')&&(*st<'0'||*st>'9')&&(*st!=' '&&*st!='\t'&&*st!='\n') ? i++, st++ : st++);
printf("Other=");
return i;
}
相关文章
- 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。
- java读取输入字符串的操作过程_java查找字符串中重复字符
- 字符集与字符编码的强化理解与操作实践
- 纯C++实现字符版坦克大战
- jQuery限制TextArea里输入字符个数详解编程语言
- 字符Oracle使用右截取函数获取字符串片段(oracle从右截取)
- 解决Oracle数据库中的无效字符(oracle无效字符)
- Oracle字符转换:优化数据结构之路(oracle字符转换)
- Linux:字符长度有限,使用有节制(linux字符长度限制)
- 如何使用MySQL设置一行字符长度限制(mysql 一行限制)
- MySQL字符数据类型详解(mysql_char)
- 筛选Oracle数据库中实现任意字符筛选实例分析(oracle中任意字符)
- JQuerytextlimit显示用户输入的字符数限制用户输入的字符数
- asp.net下生成英文字符数字验证码的代码
- php安全之直接用$获取值而不$_GET字符转义
- JavaScript验证用户输入的是字符或数字及ASCIIChart应用
- C++输入一个字符串,把其中的字符按照逆序输出的两种方法解析
- 文本框中禁止非数字字符输入比如手机号码、邮编
- JS检测输入字符是否包含非法字符的示例代码
- jquery禁止输入数字以外的字符的示例(纯数字验证码)