酷代码 AI
菜单
服务商

```python def reverse_sentence(sentence): words = sentence.split() reversed_words = [] for word in words[::-1]: if word.islower(): reversed_words.append(word.upper()) elif word.isupper(): reversed_words.append(word.lower()) elif word.isdigit(): reversed_words.append(word[::-1]) else: reversed_words.append(word) return " ".join(reversed_words) sentence = input() print(reverse_sentence(sentence)) ```用C

```c #include <stdio.h> #include <string.h> #include <ctype.h> void reverse_sentence(char* sentence) { char words[100][100]; int word_count = 0; int char_index = 0; // 分割单词 for (int i = 0; sentence[i] != '\0'; i++) { if (sentence[i] == ' ') { words[word_count][char_index] = '\0'; word_count++; char_index = 0; } else { words[word_count][char_index] = sentence[i]; char_index++; } } words[word_count][char_index] = '\0'; word_count++; // 处理并反转单词顺序 char reversed_words[100][100]; for (int i = 0; i < word_count; i++) { char* word = words[word_count - 1 - i]; // 检查单词类型并处理 int all_lower = 1; int all_upper = 1; int all_digit = 1; for (int j = 0; word[j] != '\0'; j++) { if (!islower(word[j])) all_lower = 0; if (!isupper(word[j])) all_upper = 0; if (!isdigit(word[j])) all_digit = 0; } if (all_lower) { for (int j = 0; word[j] != '\0'; j++) { reversed_words[i][j] = toupper(word[j]); } reversed_words[i][strlen(word)] = '\0'; } else if (all_upper) { for (int j = 0; word[j] != '\0'; j++) { reversed_words[i][j] = tolower(word[j]); } reversed_words[i][strlen(word)] = '\0'; } else if (all_digit) { int len = strlen(word); for (int j = 0; j < len; j++) { reversed_words[i][j] = word[len - 1 - j]; } reversed_words[i][len] = '\0'; } else { strcpy(reversed_words[i], word); } } // 构建结果字符串 char result[1000] = ""; for (int i = 0; i < word_count; i++) { strcat(result, reversed_words[i]); if (i < word_count - 1) { strcat(result, " "); } } printf("%s\n", result); } int main() { char sentence[1000]; fgets(sentence, sizeof(sentence), stdin); // 移除换行符 sentence[strcspn(sentence, "\n")] = '\0'; reverse_sentence(sentence); return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: - 字符串处理时注意缓冲区溢出,确保分配足够空间 - 字符类型判断要考虑混合字符的情况,避免误判 - 内存管理要谨慎,特别是处理动态字符串时防止内存泄漏 [2025-10-25 10:07:45 | AI写代码神器 | 703点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多