用c语言编写输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。
时间: 2023-12-27 22:03:00 浏览: 189
以下是用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语言,输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。 输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出格式: 在一行中输出逆序后的字符串。
在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>
int main() {
char str[81];
int len, i;
fgets(str, 81, stdin); // 读入字符串
len = strlen(str);
for (i = len - 2; i >= 0; i--) { // 注意要减去回车符的长度
printf("%c", str[i]);
}
return 0;
}
```
输入一个字符串,然后将其逆序输出,可以使用fgets()函数读入字符串,再使用strlen()函数获取字符串长度,最后使用for循环逆序输出字符串即可。
阅读全文