c语言:山东科技大学oj字符串逆序
时间: 2024-10-19 19:01:29 浏览: 35
C语言练习题(山东科技大学吐血整理).doc
在C语言中,如果你想编写一段程序来解决山东科技大学OJ中的字符串逆序问题,你可以使用数组或者指针来完成这个任务。这里提供一种基本的算法思路:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char* str) {
int length = strlen(str);
char temp;
// 从字符串的两端开始交换字符
for (int i = 0; i < length / 2; i++) {
temp = str[i]; // 保存当前位置的字符
str[i] = str[length - i - 1]; // 将当前位置的字符放至末尾
str[length - i - 1] = temp; // 将末尾的字符放回原位置
}
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 注意去掉末尾的换行符
// 去掉fgets读取到的换行符
if (input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0';
}
reverse_string(input);
printf("反转后的字符串: %s\n", input);
return 0;
}
```
在这个程序中,`reverse_string`函数接收一个字符串指针作为输入,通过两个指针分别指向字符串的开头和结尾,然后逐个交换字符的位置来达到逆序的效果。
阅读全文