用C语言写出输入一个字符串,将其逆序输出的代码
时间: 2023-12-14 08:35:43 浏览: 130
以下是用C语言实现输入一个字符串并将其逆序输出的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int len, i;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
printf("逆序输出:");
for (i = len - 1; i >= 0; i--) {
printf("%c", str[i]);
}
return 0;
}
```
运行结果如下:
```
请输入一个字符串:hello world
逆序输出:dlrow olleh
```
相关问题
用C语言写:从键盘输入一个字符串,将其按逆序输出。
可以使用C语言的字符串函数来实现这个功能,以下是使用指针和循环实现的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("输入一个字符串:");
scanf("%s", str);
int len = strlen(str);
char *p = str + len - 1;
while (p >= str) {
printf("%c", *p);
p--;
}
printf("\n");
return 0;
}
```
首先使用 `scanf()` 函数从键盘输入一个字符串,然后使用 `strlen()` 函数获取字符串的长度。接着定义一个指向字符串末尾的指针 `p`,并通过 `str + len - 1` 计算出指向字符串末尾的指针。最后通过循环依次输出指针 `p` 指向的字符,并将指针 `p` 向前移动。
输入一个以回车结束的字符串(少于 80 个字符),将该字符串逆序 存放,输出逆序后的字符串。用c语言试编写相应程序。
### 回答1:
以下是用C语言编写的程序,实现输入字符串并逆序输出:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[80]; // 定义一个字符数组,存放输入的字符串
int len, i;
printf("请输入一个字符串(少于80个字符):\n");
gets(str); // 获取输入的字符串
len = strlen(str); // 获取字符串的长度
printf("逆序后的字符串为:\n");
for (i = len - 1; i >= 0; i--) // 循环输出逆序后的字符串
{
printf("%c", str[i]);
}
printf("\n");
return 0;
}
```
这里使用了 `gets` 函数来获取输入的字符串,但是需要注意的是,`gets` 函数不安全,容易导致缓冲区溢出,建议使用更安全的函数 `fgets` 代替。
### 回答2:
下面是使用C语言编写的程序,通过输入一个以回车结束的字符串,将该字符串逆序存放,并输出逆序后的字符串:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char str[]) {
int length = strlen(str);
int start = 0;
int end = length - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
int main() {
char str[80];
printf("请输入一个字符串,以回车结束:\n");
fgets(str, 80, stdin);
// 将换行符替换为空字符
int length = strlen(str);
if (str[length - 1] == '\n') {
str[length - 1] = '\0';
}
reverseString(str);
printf("逆序后的字符串为:%s\n", str);
return 0;
}
```
运行程序后,会提示输入一个字符串,输入后按回车键结束。然后程序将会输出逆序后的字符串。
### 回答3:
可以使用C语言中的字符数组和循环语句来编写相应的程序。具体代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[80]; // 定义一个字符数组用于存放输入的字符串
char reverseStr[80]; // 定义一个字符数组用于存放逆序后的字符串
int i, length;
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin); // 使用fgets函数获取用户输入的字符串
length = strlen(str);
// 将原字符串逆序存放到reverseStr数组中
for (i = 0; i < length - 1; i++) {
reverseStr[i] = str[length - 2 - i];
}
reverseStr[length] = '\0'; // 在末尾添加字符串结束标志
printf("逆序后的字符串为:%s\n", reverseStr);
return 0;
}
```
程序的逻辑如下:
1. 定义一个字符数组`str`用于存放用户输入的字符串,大小为80。
2. 定义一个字符数组`reverseStr`用于存放逆序后的字符串,大小也为80。
3. 使用`fgets`函数获取用户输入的字符串,`sizeof(str)`可以保证输入的字符串不超过80个字符。
4. 使用`strlen`函数获取输入字符串的长度。
5. 使用循环将原字符串逆序存放到`reverseStr`数组中。
6. 在末尾添加字符串结束标志。
7. 打印出逆序后的字符串。
以上就是使用C语言编写的逆序字符串的程序。
阅读全文