用c语言,输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。 输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出格式: 在一行中输出逆序后的字符串。
时间: 2024-11-28 09:13:56 浏览: 1
在C语言中,你可以通过使用两个指针,一个指向字符串开始,另一个指向字符串结尾,然后交换它们所指向的字符并逐个移动指针,直到两者相遇。以下是实现该功能的一个简单示例:
```c
#include <stdio.h>
#include <string.h>
void reverse(char str[]) {
int start = 0;
int end = strlen(str) - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
int main() {
char input[90]; // 为了容纳最多80个字符和结束符'\0'
fgets(input, sizeof(input), stdin); // 读取用户输入
// 移除fgets可能会添加的换行符
if (input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0';
}
reverse(input);
printf("逆序后的字符串是:%s\n", input);
return 0;
}
```
当你运行这个程序,它会提示你输入一个字符串,然后输出逆序后的字符串。
相关问题
用c语言编写输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。
以下是用C语言编写的实现:
```c
#include <stdio.h>
#include <string.h>
void reverse(char str[]) {
int i, j;
char temp;
for(i = 0, j = strlen(str) - 1; i < j; i++, j--) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
reverse(str);
printf("逆序后的字符串为:%s\n", str);
return 0;
}
```
在上面的程序中,我们定义了一个 `reverse` 函数,该函数接收一个字符串作为参数,然后对其进行逆序。逆序的实现方式是使用两个指针,一个指向字符串的开头,另一个指向字符串的末尾,然后交换它们所指向的字符,然后将两个指针向中间移动,重复这个过程,直到两个指针相遇。
在 `main` 函数中,我们先读取用户输入的字符串,然后调用 `reverse` 函数对其进行逆序,最后输出逆序后的字符串。
用c语言来写输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。
下面是一个用C语言实现字符串逆序的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, len;
printf("请输入一个字符串:");
gets(str);
len = strlen(str);
printf("逆序后的字符串为:");
for(i = len - 1; i >= 0; i--)
{
printf("%c", str[i]);
}
return 0;
}
```
运行该程序后,会提示输入一个字符串,然后输出该字符串的逆序。需要注意的是,gets函数存在安全问题,建议使用fgets函数代替。
阅读全文