C语言字母-数字转换
时间: 2024-10-07 18:08:32 浏览: 28
在C语言中,将字母转换为数字通常涉及到字符编码的概念,特别是ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)。每个字符在ASCII码表中都有一个对应的十进制数值。如果你想将用户输入的小写字母转为对应的整数,可以使用`tolower()`函数将其转换为小写,然后乘以相应的ASCII值偏移(如'a'的ASCII值是97)。
例如,你可以这样做:
```c
#include <ctype.h>
#include <stdio.h>
int char_to_number(char c) {
if (isalpha(c)) { // 检查是否是字母
c = tolower(c); // 转换为小写
return c - 'a' + 1; // 字母'a'到'z'的ASCII值范围是97-122
}
else {
printf("输入不是字母。\n");
return -1; // 或者返回错误代码
}
}
int main() {
char input;
printf("请输入一个小写字母:");
scanf("%c", &input);
int number = char_to_number(input);
if (number != -1) {
printf("对应数字为:%d\n", number);
}
return 0;
}
```
阅读全文