记录——《C Primer Plus (第五版)》第九章编程练习第六题

时间:2023-02-04 00:03:51

第六题:编写一个程序,使其从标准输入读取字符,直到遇到文件
结尾。对于每个字符,程序需要检查并报告该字符是否是一个字母。
如果是的话,程序还应该报告该字母在字母表中的数值位置。例如
c和C的字母位置都是3。可以先实现这样一个函数:接收一个字符
参数,如果该字符为字母则返回该字母的数值位置,否则返回-1。

# include <stdio.h>
# include <ctype.h>

int is_character(char);
void cha_pt(char);

int main(void)
{
char ch = 0;
int is;

printf("Enter :\n");
while((ch = getchar()) != '\n')
{
is = is_character(ch);
if(is)
{
cha_pt(ch);
}
}

return 0;
}

int is_character(char ch)
{
if((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z'))
return 1;
else
return 0;
}

void cha_pt(char ch)
{
int j;
char cha;
cha = tolower(ch);
j = cha - 'a';
printf("Position of the %c is %d\n", ch, j+1);
}