请编写一个c语言程序,要求将26个字母组成的字符串转化为0到25的数字
时间: 2023-06-15 20:05:55 浏览: 60
以下是一个简单的C语言程序,可以将字符串中的小写字母转换为0到25的数字:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[27];
int i;
printf("Enter a string of 26 lowercase letters:\n");
scanf("%s", str);
for (i = 0; i < strlen(str); i++)
{
printf("%d ", str[i] - 'a');
}
return 0;
}
```
程序首先从用户那里获取一个长度为26的字符串,然后使用一个循环遍历字符串中的每个字符,并将其转换为数字。在这个程序中,我们使用ASCII码的差值来将字符转换为数字。因为小写字母a的ASCII码是97,所以如果我们想要将字符a转换为数字0,我们可以使用表达式`'a' - 'a'`,这将返回0。同样地,如果我们想要将字符b转换为数字1,我们可以使用表达式`'b' - 'a'`,这将返回1。
相关问题
编写一个C语言程序,将一个键盘输入的字符串中的大写字母转换为小写字母并返回结果
好的,以下是一个简单的C语言程序,可以实现你的要求:
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_LEN 1000
int main() {
char str[MAX_LEN];
int i;
printf("请输入一个字符串:\n");
fgets(str, MAX_LEN, stdin);
for (i = 0; str[i] != '\0'; i++) {
if (isupper(str[i])) {
str[i] = tolower(str[i]);
}
}
printf("转换后的字符串为:\n%s", str);
return 0;
}
```
程序的主要思路是利用 C 语言库函数 `isupper()` 判断字符是否为大写字母,若是,则用 `tolower()` 函数将其转换为小写字母。整个字符串的转换可以通过循环实现。在程序中,我们使用了 `fgets()` 函数来从标准输入流中读取字符串,并将其存储在 `str` 数组中。注意,我们在定义 `str` 数组时,使用了一个常量 `MAX_LEN` 来限制字符串的最大长度,以避免数组越界的问题。最后,程序将转换后的字符串打印到屏幕上。
C语言编写一个程序,输入一个字符串,将其中的小写字母转换为大写字母。
好的,以下是 C 语言代码实现:
```c
#include<stdio.h>
#include<string.h>
int main() {
char str[100];
int i;
printf("请输入一个字符串:");
scanf("%s", str);
for(i = 0; i < strlen(str); i++) {
if(str[i] >= 'a' && str[i] <= 'z') { // 判断是否为小写字母
str[i] -= 32; // 转换为对应的大写字母
}
}
printf("转换后的字符串为:%s", str);
return 0;
}
```
程序流程如下:
1. 声明一个字符数组 `str`,用于存储输入的字符串;
2. 通过 `scanf` 函数输入字符串;
3. 遍历字符串中的每一个字符,判断是否为小写字母;
4. 如果是小写字母,通过 ASCII 码将其转换为对应的大写字母;
5. 输出转换后的字符串。