使用一堆数组char name[20]存储键盘上输入的字符串,将字符串的内容逆置后输出
时间: 2024-01-22 16:20:05 浏览: 20
可以使用下面的代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char name[20];
printf("请输入字符串:");
scanf("%s", name);
int len = strlen(name);
for (int i = 0; i < len / 2; i++) {
// 交换对应位置上的字符
char temp = name[i];
name[i] = name[len - i - 1];
name[len - i - 1] = temp;
}
printf("逆置后的字符串为:%s\n", name);
return 0;
}
```
这段代码首先读入一个字符串,然后计算出字符串的长度,接着用一个循环将字符串逆置。循环中,我们交换对应位置上的字符,即将第i个字符和倒数第i个字符交换。最后输出逆置后的字符串即可。
相关问题
从键盘输入一个字符串,实现利用字符指针将字符串的字符顺序逆置并输出
可以按照以下步骤实现:
1. 从键盘输入一个字符串,可以使用scanf或者gets等函数。
2. 定义一个字符指针,指向字符串的首地址。
3. 定义两个变量i和j,分别指向字符串的首尾字符。
4. 使用while循环,交换i和j所指向的字符,并将i和j分别向中间移动,直到i>=j。
5. 输出逆置后的字符串,可以使用puts或者printf等函数。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
char *p = str;
int i = , j = strlen(str) - 1;
while (i < j)
{
char temp = *(p + i);
*(p + i) = *(p + j);
*(p + j) = temp;
i++;
j--;
}
printf("逆置后的字符串为:%s\n", str);
return ;
}
```
C语言输入一个字符串(少于80个字符),将它的内容逆置后输出。
好的,以下是一个 C 语言的实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[80], reverse_str[80];
int i, len;
printf("请输入一个字符串,少于80个字符:\n");
fgets(str, 80, stdin);
len = strlen(str) - 1;
for (i = 0; i < len; i++) {
reverse_str[i] = str[len - i - 1];
}
reverse_str[len] = '\0';
printf("逆置后的字符串为:%s\n", reverse_str);
return 0;
}
```
简要解释一下代码:首先,定义两个字符数组 `str` 和 `reverse_str`,分别用于存放用户输入的字符串和逆置后的字符串。然后,使用 `fgets()` 函数从标准输入流中读取用户输入的字符串,将其存放在 `str` 数组中。
接着,使用 `strlen()` 函数获取字符串的长度,并将其保存在变量 `len` 中。然后,使用 `for` 循环遍历字符串中的每一个字符,将其逆置后存放在 `reverse_str` 数组中。最后,将 `reverse_str` 数组中的末尾字符设置为字符串结束符 `\0`,并使用 `printf()` 函数将逆置后的字符串输出到屏幕上。
希望这个程序能够解决您提出的问题。如果您还有其他问题,请随时提出!