【问题描述】编写一个程序,将字符串中的元素逆序存放。 【输入形式】输入字符串 【输出形式】输出逆序后的字符串。C语言
时间: 2023-06-04 11:04:36 浏览: 194
实现如下:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int len, i;
printf("请输入字符串:");
gets(str);
len = strlen(str);
printf("逆序后的字符串是:");
for (i = len - 1; i >= 0; i--) {
printf("%c", str[i]);
}
printf("\n");
return 0;
}
```
解释一下代码:
1. 首先定义一个 char 类型的数组 str 来存储输入的字符串。
2. 使用 gets() 函数来获取输入的字符串。
3. 使用 strlen() 函数来获取字符串的长度 len。
4. 使用 for 循环从字符串的最后一个元素开始逆序遍历,使用 printf() 函数逐个输出字符。
5. 最后使用 printf() 函数输出一个换行符并返回 0,表示程序正常结束。
相关问题
C语言【问题描述】编写一个程序,将字符串中的元素逆序存放。 【输入形式】输入字符串 【输出形式】输出逆序后的字符串 【样例输入】abcde 【样例输出】edcba
以下是C语言的代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
int len = strlen(str);
// 逆序存放字符串
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
printf("逆序后的字符串:%s\n", str);
return 0;
}
```
首先,定义一个字符数组 `str` 用于存放输入的字符串,使用 `scanf` 函数读取字符串。然后,使用 `strlen` 函数获取字符串的长度,遍历字符串并交换首尾字符的位置,实现字符串的逆序存放。最后,使用 `printf` 函数输出逆序后的字符串。
注意:在C语言中,字符串是以 `'\0'` 结尾的一串字符,因此我们不需要考虑字符串长度的变化。
用C语言编写:将一个字符串中的字符逆序存放。如字符串为“abcde",则逆序存放后应为"edcba"。 输入格式: 在一行中输入一个长度不超过20的字符串、并以回车结束。 输出格式: 在一行中输出逆序后的字符串。
你可以使用C语言编写一个函数来实现将字符串的字符逆序存放的功能。具的实现步骤如下:
1. 首先,定义一个函数,例如`reverseString`,该函数接受一个字符串作为参数。
2. 在函数内部,使用两个指针,一个指向字符串的开头,另一个指向字符串的末尾。
3. 使用一个循环,不断交换指针所指向的字符,直到两个指针相遇。
4. 最后,返回逆序后的字符串。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char* str) {
int len = strlen(str);
int start = 0;
int end = len - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
int main() {
char str[21];
scanf("%s", str);
reverseString(str);
printf("%s\n", str);
return 0;
}
```
输入一个字符串后,调用`reverseString`函数将字符串逆序存放,并使用`printf`函数输出逆序后的字符串。
阅读全文