c语言:输入一串字符,要求逆序输出
时间: 2023-06-02 14:05:34 浏览: 145
好的,这个问题我可以回答。请参考以下代码:
```
#include<stdio.h>
#include<string.h>
void reverse_string(char *str);
int main()
{
char string[100];
printf("请输入一串字符:\n");
scanf("%s", string);
reverse_string(string);
printf("逆序输出的字符串是:%s\n", string);
return 0;
}
void reverse_string(char *str)
{
int len = strlen(str);
int i, j;
char temp;
for(i = 0, j = len - 1; i < j; i++, j--)
{
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
```
这个程序可以实现输入一串字符,然后逆序输出。
相关问题
c语言编程:使用指针实现字符串逆序输出
可以用指针来实现字符串逆序输出,代码如下:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int length = strlen(str);
char *begin = str;
char *end = str + length - 1;
while (begin < end) {
char temp = *begin;
*begin = *end;
*end = temp;
begin++;
end--;
}
}
int main() {
char str[] = "Hello, world!";
printf("Original string: %s\n", str);
reverse(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
这个程序中,我们定义了一个 `reverse` 函数,它接受一个指向字符串的指针。这个函数首先计算字符串的长度,然后定义了两个指针,一个指向字符串的开头,一个指向字符串的结尾。接下来,我们使用一个循环来交换开头和结尾的字符,直到两个指针相遇为止。最后,我们在 `main` 函数中调用 `reverse` 函数,并将结果输出到控制台上。
帮我用C语言写一段简单的代码,要求满足: 输入 一行字符 输出 逆序后的字符串 测试说明 样例输入: 123456abcdef 样例输出: fedcba654321
当然可以,这是一个简单的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`函数中,我们从用户那里获取输入,应用逆序函数,最后打印出结果。
阅读全文