用c语言编写程序输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。 输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出格式: 在一行中输出逆序后的字符串。 输入样例: Hello World! 输出样例: !dlroW olleH
时间: 2025-02-16 22:14:12 浏览: 20
要使用C语言编写程序对字符串进行逆序,你可以使用以下步骤:
- 首先,创建一个字符数组
str
存储用户输入的字符串。 - 然后,获取用户输入的字符串长度,并设置两个指针,一个指向数组开始(
start
),另一个指向数组结尾(end
)。 - 使用一个循环,从
end
向start
遍历,每次交换两个指针所指向的字符。 - 最后,打印出逆序后的字符串。
以下是C语言代码示例:
#include <stdio.h>
#include <string.h>
int main() {
char str[81]; // 用于存储字符串
fgets(str, sizeof(str), stdin); // 读取用户输入
// 移除输入字符串末尾的换行符
str[strcspn(str, "\n")] = '\0';
int start = 0;
int end = strlen(str) - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp; // 交换字符
start++;
end--;
}
printf("逆序后的字符串:%s\n", str);
return 0;
}
相关问题
用c语言编写输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。
以下是用C语言编写的实现:
#include <stdio.h>
#include <string.h>
void reverse(char str[]) {
int i, j;
char temp;
for(i = 0, j = strlen(str) - 1; i < j; i++, j--) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
reverse(str);
printf("逆序后的字符串为:%s\n", str);
return 0;
}
在上面的程序中,我们定义了一个 reverse
函数,该函数接收一个字符串作为参数,然后对其进行逆序。逆序的实现方式是使用两个指针,一个指向字符串的开头,另一个指向字符串的末尾,然后交换它们所指向的字符,然后将两个指针向中间移动,重复这个过程,直到两个指针相遇。
在 main
函数中,我们先读取用户输入的字符串,然后调用 reverse
函数对其进行逆序,最后输出逆序后的字符串。
用c语言来写输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。
下面是一个用C语言实现字符串逆序的示例代码:
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, len;
printf("请输入一个字符串:");
gets(str);
len = strlen(str);
printf("逆序后的字符串为:");
for(i = len - 1; i >= 0; i--)
{
printf("%c", str[i]);
}
return 0;
}
运行该程序后,会提示输入一个字符串,然后输出该字符串的逆序。需要注意的是,gets函数存在安全问题,建议使用fgets函数代替。
相关推荐
















