用c语言简单完成从键盘上输入一串字符串,将其逆序输出
时间: 2024-10-05 13:04:42 浏览: 15
在 C 语言中,可以使用数组和指针来实现字符串的逆序输入并输出。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100 // 设置最大长度
int main() {
char input[MAX_LENGTH];
char reversed[MAX_LENGTH]; // 用于存储逆序后的字符串
int i = 0, j = MAX_LENGTH - 1; // 初始化两个指针,i指向输入字符串开始,j指向结束
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 使用fgets读取字符串,包括换行符
// 将字符串转换为小写并去掉末尾的换行符
input[strcspn(input, "\n")] = '\0';
while (i <= j) {
// 交换字符
reversed[i] = input[j];
reversed[j] = input[i];
// 指针向中间移动
i++;
j--;
}
reversed[j+1] = '\0'; // 确保字符串以空字符结尾
printf("逆序后的字符串: %s\n", reversed);
return 0;
}
相关问题
用c语言完成从键盘上输入一串字符串,将其逆序输出
在C语言中,你可以通过以下几个步骤来实现从键盘输入一串字符串并逆序输出:
1. 首先,你需要包含头文件`stdio.h`,它包含了输入/输出函数的声明。
```c
#include <stdio.h>
#include <string.h> // 包含处理字符串的库
```
2. 使用`fgets()`函数从键盘读取用户输入的字符串,直到遇到换行符`\n`为止。
```c
char input[100]; // 定义一个足够大的数组存储字符串
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // fgets()函数读取用户输入
```
3. 确保最后一个字符不是'\n',因为`fgets()`会将换行符一起读入。如果需要,可以使用`strcspn()`函数移除它。
```c
input[strcspn(input, "\n")] = '\0'; // 移除字符串末尾的换行符
```
4. 接下来,你可以使用指针遍历字符串,并将每个字符逐个存放到另一个数组中,位置反转。
```c
char reversed[100];
int i, j;
for (i = strlen(input) - 1, j = 0; i >= 0; i--, j++) {
reversed[j] = input[i];
}
reversed[j] = '\0'; // 添加字符串结束符
```
5. 最后,打印出逆序后的字符串。
```c
printf("逆序输出的字符串: %s", reversed);
```
完整代码示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char input[100], reversed[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin);
input[strcspn(input, "\n")] = '\0';
int i, j;
for (i = strlen(input) - 1, j = 0; i >= 0; i--, j++) {
reversed[j] = input[i];
}
reversed[j] = '\0';
printf("逆序输出的字符串: %s", reversed);
return 0;
}
用C语言完成:从键盘输入一个字符串,将其按逆序输出
```c
#include<stdio.h>
#include<string.h>
int main()
{
char str[50], rev[50];
int i, j, len;
printf("Enter a string: ");
scanf("%s", str);
len = strlen(str);
j = 0;
for(i = len - 1; i >= 0; i--)
{
rev[j++] = str[i];
}
rev[j] = '\0';
printf("Reverse of the string: %s", rev);
return 0;
}
```
输出结果:
```
Enter a string: Hello World
Reverse of the string: dlroW olleH
```