先输入数字k(0<k<6),再将输入的一行字符中的每个英文字母按照其后续的第k个字母输出,字母超出最后一个”Z”或”z”时,循环转换(即大写Z后回到A,小写后回到a),非大小写英文字符不转换。c语言
时间: 2024-05-24 10:10:43 浏览: 37
实现如下:
#include <stdio.h>
int main() {
int k;
char c;
scanf("%d\n", &k);
while ((c = getchar()) != '\n') {
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
c += k % 26;
if (c > 'z' || (c > 'Z' && c < 'a')) {
c -= 26;
}
if (c > 'Z' && c < 'a') {
c -= 26;
}
}
putchar(c);
}
return 0;
}
相关问题
C语言 先输入数字k(0<k<6),再将输入的一行字符中的每个英文字母按照其后续的第k个字母输出,字母超出最后一个”Z”或”z”时,循环转换(即大写Z后回到A,小写后回到a),非大小写英文字符不转换。请编程实现。
```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;
}
```
输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。
### 回答1:
好的,输入格式如下:
第一行:正整数n(<10)
接下来n行,每行格式为“姓名 生日 电话号码”,其中姓名为长度不超过10的英文字母组成的字符串,生日为yyyymmdd格式的日期,电话号码为不超过17位的数字及+、-组成的字符串。
### 回答2:
题目要求我们输入n个朋友的信息,每个朋友信息包括姓名、生日、电话号码。这些信息分别是以字符串和数字的形式给出的,我们需要读取并保存这些信息,以便后续处理。
首先,我们可以使用一个数组或者列表来保存所有朋友的信息,数组的长度为n。我们可以通过循环n次来读取每个朋友的信息,其中每次循环代表一个朋友的信息。在循环体内,我们可以使用input()函数来获取用户输入的姓名、生日和手机号,然后将这些信息存储为一个元组或一个字典,再将它们添加到我们创建的数组中。
下面是一个可能的实现方式:
```
n = int(input("请输入朋友的数量:"))
friends = [] # 创建一个空的列表用来保存信息
for i in range(n):
name, birthdate, phone = input().split()
friend_info = {'name': name, 'birthdate': birthdate, 'phone': phone} # 将信息保存为一个字典
friends.append(friend_info) # 添加信息到列表中
# 打印所有朋友的信息
for friend_info in friends:
print('姓名:', friend_info['name'], '生日:', friend_info['birthdate'], '电话号码:', friend_info['phone'])
```
在上面的代码中,我们首先读取一个整数n表示朋友的数量,并创建一个空的列表friends,用来保存所有朋友的信息。
接下来,我们通过循环n次来读取每个朋友的信息。在每次循环中,我们使用input()函数来读取用户输入的姓名、生日和手机号,利用split()函数将它们分割开。然后,我们将这些信息保存为一个字典friend_info,并使用append()函数将这个字典添加到friends列表中去。
最后,我们使用另一个循环来遍历friends列表中的所有元素,并打印出每个朋友的信息。
上述代码可以满足题目的要求,但是它还有一些扩展的空间,比如可以增加对用户输入的信息的校验和格式化,以提高程序的健壮性和友好性。
### 回答3:
这道题目的主要思路是要读入n个朋友的信息,然后按照规定的格式进行输出。
首先,我们需要使用input()函数读入第一行的正整数n。接下来,使用for循环读入n行朋友信息,每行信息使用split()函数将其拆分成姓名、生日和电话号码三个部分,并分别存储起来。拆分后,我们可以将生日转换成更易读的格式,如年-月-日的形式,方便输出。
接下来,我们可以使用print()函数按照规定的格式输出每个朋友的信息。再次使用for循环遍历我们之前存储的每个朋友信息,并使用字符串格式化输出。
具体实现如下:
n = int(input())
friends = []
for i in range(n):
friend_info = input().split()
name = friend_info[0]
birthday = friend_info[1][:4] + '-' + friend_info[1][4:6] + '-' + friend_info[1][6:]
phone = friend_info[2]
friends.append((name, birthday, phone))
for friend in friends:
print(friend[0], friend[1], friend[2])
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)