用c代码不用指针不用函数,循环输入字符串【存在空格】,对每个单词实现逆置
时间: 2023-03-24 22:00:15 浏览: 104
您好!根据您的问题,您想要实现一个程序,在输入字符串时,对于每个单词实现反转,并且不使用指针和函数,而是使用 C 语言。同时,您需要处理输入字符串中的空格。
以下是一个实现示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100]; // 假设输入字符串的最大长度为 100
int len, start, end;
printf("请输入一个字符串:\n");
gets(str); // 从标准输入读入字符串,包括空格
len = strlen(str);
// 反转整个字符串
for (start = 0, end = len - 1; start < end; start++, end--) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
}
// 反转每个单词
start = 0;
while (start < len) {
// 找到单词的起始位置
while (str[start] == ' ' && start < len) {
start++;
}
if (start == len) {
break;
}
// 找到单词的结束位置
end = start + 1;
while (str[end] != ' ' && end < len) {
end++;
}
// 反转单词
for (int i = start, j = end - 1; i < j; i++, j--) {
char temp = str[i];
str[i] = str[j];
str[j] = temp;
}
// 准备处理下一个单词
start = end + 1;
}
printf("反转后的字符串为:\n%s", str);
return 0;
}
```
这个程序的思路是先反转整个字符串,然后再反转每个单词。在反转单词时,通过找到每个单词的起始位置和结束位置,然后再反转单词中的每个字符。
阅读全文