帮我用C语言写一段简单的代码,要求满足: 输入 一行字符 输出 逆序后的字符串 测试说明 样例输入: 123456abcdef 样例输出: fedcba654321
时间: 2024-09-25 09:14:00 浏览: 48
当然可以,这是一个简单的C语言程序,它将接收用户输入的一行字符,并返回其逆序后的字符串:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char str[]) {
int length = strlen(str);
for (int i = 0; i < length / 2; i++) {
char temp = str[i];
str[i] = str[length - 1]; // 交换字符位置
str[length - i - 1] = temp;
}
}
int main() {
char input[100];
printf("请输入一行字符:");
fgets(input, sizeof(input), stdin); // 读取一行输入并忽略换行符
input[strcspn(input, "\n")] = '\0'; // 去除fgets添加的换行符
reverse_string(input);
printf("样例输出:%s\n", input); // 输出逆序后的字符串
return 0;
}
```
在这个代码里,我们首先定义了一个`reverse_string`函数,通过两遍循环交换字符的位置来达到逆序的效果。然后,在`main`函数中,我们从用户那里获取输入,应用逆序函数,最后打印出结果。
相关问题
输入 一行字符 输出 逆序后的字符串 测试说明 样例输入: 123456abcdef 样例输出: fedcba654321 用C语言帮我编写
在C语言中,你可以使用数组和指针来实现字符串的逆序。下面是一个简单的函数示例,它接受一个字符数组作为输入并返回逆序后的结果:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char* str) {
int len = strlen(str);
char temp;
// 遍历字符串,从后往前交换字符
for (int i = 0; i < len / 2; i++) {
temp = str[i];
str[i] = str[len - i - 1]; // 交换
str[len - i - 1] = temp;
}
}
// 测试函数
int main() {
char input[] = "123456abcdef";
printf("原始字符串: %s\n", input);
reverse_string(input);
printf("逆序后的字符串: %s\n", input); // 注意这里直接修改了原数组
return 0;
}
```
在这个例子中,`reverse_string` 函数接收输入字符串,并通过循环逐个字符地反转。在`main`函数中,我们创建了一个样例输入字符串,并调用这个函数来演示逆序效果。
c语言输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。 输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出格式: 在一行中输出逆序后的字符串。 输入样例: Hello World! 输出样例: !dlroW olleH
以下是C语言的代码实现:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[80], temp;
int i, j;
// 读入字符串
fgets(str, 80, stdin);
// 去掉回车
str[strlen(str)-1] = '\0';
// 对字符串进行逆序
for (i = 0, j = strlen(str)-1; i < j; i++, j--) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
// 输出逆序后的字符串
printf("%s\n", str);
return 0;
}
```
输入一个字符串后,我们先去掉回车,然后使用双指针法对字符串进行逆序,最后输出逆序后的字符串。
阅读全文