C语言【问题描述】编写一个程序,将字符串中的元素逆序存放。 【输入形式】输入字符串 【输出形式】输出逆序后的字符串 【样例输入】abcde 【样例输出】edcba
时间: 2023-12-03 11:03:00 浏览: 45
以下是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语言
实现如下:
```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语言程序,输入一个以回车符结束的字符串,将该字符串按逆序输出
下面是一个简单的实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100]; // 假设输入的字符串不超过 100 个字符
int len, i;
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin); // 从标准输入读入字符串
len = strlen(str);
printf("逆序输出:");
for (i = len - 1; i >= 0; i--) {
putchar(str[i]); // 逆序输出每个字符
}
printf("\n");
return 0;
}
```
该程序使用了 `fgets` 函数从标准输入读入字符串,然后使用 `strlen` 函数求出字符串的长度,最后使用一个循环逆序输出每个字符。