我必须编写一个函数,从文本中删除每个不是数字的字符,将每个单词的首字母更改为大写字母,并将其余字母更改为小写字母。
问题是:
- 我不能使用 ctype、stdlib 和字符串库
- 我想输入时我只能使用 scanf
- 除了数组声明之外,我不能使用 [] 运算符
- 除了 0 和 1 之外,我不能使用数字
通常这很容易,但在这些条件下,我不知道该怎么做。我是刚接触弦的,不要苛刻:)。
也许尝试制作一些这样的宏:
#define IS_UPPER(c) ( (c) >= 'A' && (c) <= 'Z' )
#define IS_LOWER(c) ( (c) >= 'a' && (c) <= 'z')
#define TO_UPPER(c) ( (c) -= ('a' - 'A'))
#define TO_LOWER(c) ( (c) += ('a' - 'A'))
#define IS_ALPHA(c) ( IS_UPPER(c) || IS_LOWER(c) )
看看你是否能让一些东西发挥作用
void homework(char * txt)
{
while(*txt != NUL)
{
/* do some stuff */
txt++;
}
}