C语言 先输入数字k(0<k<6),再将输入的一行字符中的每个英文字母按照其后续的第k个字母输出,字母超出最后一个”Z”或”z”时,循环转换(即大写Z后回到A,小写后回到a),非大小写英文字符不转换。请编程实现。
时间: 2024-05-06 11:20:53 浏览: 12
```c
#include <stdio.h>
int main() {
int k;
scanf("%d", &k);
char c;
while ((c = getchar()) != '\n') { // 去掉输入的数字后的换行符
if (c >= 'A' && c <= 'Z') { // 大写字母
c += k;
if (c > 'Z') { // 超出Z,循环转换
c -= 26;
}
} else if (c >= 'a' && c <= 'z') { // 小写字母
c += k;
if (c > 'z') { // 超出z,循环转换
c -= 26;
}
}
putchar(c);
}
return 0;
}
```
相关问题
用c语言输入一行字符统计其中每个英文字母的个数存放到一维数组中
以下是一个示例程序,可以实现输入一行字符统计其中每个英文字母的个数,并将结果存放到一维数组中:
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_LENGTH 1000 // 输入字符串的最大长度
#define NUM_LETTERS 26 // 英文字母的数量
int main() {
char str[MAX_LENGTH];
int counts[NUM_LETTERS] = {0}; // 初始值全部为0
printf("请输入一行字符:\n");
fgets(str, MAX_LENGTH, stdin); // 读取一行字符
// 统计每个英文字母的个数
for (int i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) { // 判断是否为英文字母
int index = tolower(str[i]) - 'a'; // 转换为小写字母后计算下标
counts[index]++;
}
}
// 输出结果
for (int i = 0; i < NUM_LETTERS; i++) {
if (counts[i] > 0) {
printf("%c: %d\n", 'a' + i, counts[i]);
}
}
return 0;
}
```
程序中使用了几个关键函数:
- `fgets()`:读取一行字符,包括换行符。
- `isalpha()`:判断一个字符是否为英文字母。
- `tolower()`:将大写字母转换为小写字母。
- 数组下标计算:将小写字母转换为对应的数字下标,例如 `a` 对应下标 `0`,`b` 对应下标 `1`,以此类推。
需要注意的是,程序中只统计了小写字母的个数,如果需要统计大写字母的个数,可以在计算下标时先使用 `tolower()` 函数转换为小写字母。
输入一行字符,用C语言统计其英文字母,空格,数字,和其他字符个数
以下是用C语言统计输入字符的英文字母、空格、数字和其他字符个数的示例代码:
```c
#include <stdio.h>
int main() {
char str[100];
int i, alphabets, digits, spaces, others;
alphabets = digits = spaces = others = 0;
printf("请输入一行字符:");
gets(str);
for (i = 0; str[i] != '\0'; i++) {
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
alphabets++;
} else if (str[i] >= '0' && str[i] <= '9') {
digits++;
} else if (str[i] == ' ') {
spaces++;
} else {
others++;
}
}
printf("英文字母个数:%d\n", alphabets);
printf("数字个数:%d\n", digits);
printf("空格个数:%d\n", spaces);
printf("其他字符个数:%d\n", others);
return 0;
}
```
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)