编写一个程序,输入一个字符串,将该字符串的逆转后输出。用C语言
时间: 2023-12-03 18:44:38 浏览: 118
可以使用指针来逆转字符串,以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("输入一个字符串:");
scanf("%s", str);
int len = strlen(str);
char *p1 = str; // 指向字符串首地址的指针
char *p2 = str + len - 1; // 指向字符串尾地址的指针
while (p1 < p2) {
char temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
printf("逆转后的字符串:%s\n", str);
return 0;
}
```
该程序会先接收用户输入的字符串,然后使用两个指针指向该字符串的首尾位置,每次交换两个指针所指向的字符,并将指针向中间移动,直到指针相遇为止。最后输出逆转后的字符串。
相关问题
用c语言编写一个程序,输入一个字符串,将该字符串的逆转后输出。
可以使用C语言中的字符串函数来实现字符串逆转,例如使用`strlen()`函数获取字符串长度,然后使用循环将字符串逆序输出。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int len, i;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
printf("逆转后的字符串为:");
for (i = len - 1; i >= 0; i--) {
printf("%c", str[i]);
}
printf("\n");
return 0;
}
```
在上述代码中,我们首先定义了一个字符数组 `str`,用于存储输入的字符串。然后使用 `scanf()` 函数从控制台接收一个字符串输入,再使用 `strlen()` 函数获取字符串的长度。最后使用 `for` 循环将字符串逆序输出。注意,逆序输出时需要从字符串末尾开始输出,因此循环变量 `i` 的取值范围为 `len - 1` 到 0。
从键盘输入一个最多有80个字符的字符串,用C语言编写程序将该字符串逆转。注意输出要换行,提示:用puts()函数输出逆转后的字符串后自带换行,或用其他方法输出后进行换行。
在C语言中,你可以通过两个指针,一个指向字符串的起始位置,另一个指向结束位置,然后逐个交换字符来实现字符串的逆转。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h> // 包含strlen() 函数
void reverse_string(char str[]) {
int len = strlen(str); // 获取字符串长度
char temp; // 临时变量存储字符
// 从字符串末尾开始遍历到开头
for (int i = len - 1; i >= 0; i--) {
temp = str[i]; // 存储当前字符
str[i] = str[len - i - 1]; // 将当前字符放回原位置
str[len - i - 1] = temp; // 将之前的位置更新为临时存储的字符
}
}
int main() {
char input[81]; // 定义一个足够大的数组用于接收用户输入
printf("请输入一个最多80个字符的字符串:");
fgets(input, sizeof(input), stdin); // 使用fgets读取用户输入并去除末尾的换行符
input[strcspn(input, "\n")] = '\0'; // 移除fgets添加的换行符
reverse_string(input); // 反转字符串
puts(input); // 输出逆转后的字符串并换行
return 0;
}
```
当你运行这个程序时,它会提示用户输入一个最多80个字符的字符串,输入完毕后,它会显示逆转后的字符串。
阅读全文