```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点数解答]
- [字节豆包] ```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(803点数解答 | 2025-10-25 10:06:05)62
- [DeepSeek] ```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(703点数解答 | 2025-10-25 10:07:45)120
- [讯飞星火] ```c #include <stdio.h> #include <string.h> #include <ctype.h> void reverseWord(char *word) { int len = strlen(word); for (int i = 0; i < len / 2; i++) { char temp = word[i]; word[i] = word[len - i - 1]; word[len - i - 1] = temp; } } void processWord(char *word) { if (isdigit(word[0])) { reverseWord(word); } else if (islower(word[0])) { for (int i = 0; i < strlen(word); i++) { word[i] = toupper(word[i]); } } el(1192点数解答 | 2025-11-26 09:45:04)41
- [字节豆包] #include<stdio.h> #include<string.h> #include<ctype.h> int · main() { ···· char · str[21]; ···· fgets(str, · sizeof(str), · stdin); ···· int · upper=0, · lower=0, · digit=0, · other=0; ···· ···· for(int · i=0; · i<strlen(str); · i++) ···· { ········ char · ch=str[i]; ········ if(ch · == · '\n') · continue; ········ ········ if(isupper(ch)) · upper++; ········ else · if(islower(ch)) · lower++; ········ else (541点数解答 | 2025-11-30 12:03:00)38
- [字节豆包] # 定义一个函数,根据入职天数返回工龄分类 def classify_service(days): if days < 90: return '试用期' elif days < 365: return '1年以内' elif days < 365 * 3: return '1-3年' elif days < 365 * 5: return '3-5年' elif days < 365 * 10: return '5-10年' else: return '10年以上' # 应用函数,创建新列'工龄分类' df['工龄分类'] = ____ # 创建一个透视表,其中行标签是“工龄分类”,列标签是“层级”,计算每个工龄分类和层级的员工数量,缺失值填充为0。 df_层级 = ____ # 展示结果 show_table(df_层级)(123点数解答 | 2024-10-26 15:54:47)337
- [字节豆包] def f(def f(m, def f(m, n): # 递归定义函数,求m和n的最大公约数 if ① == 0: # m可以被n整除 return n # 求得最大公约数 ②: q = m % n return f(n, q) a = int(input('请输入第一个正整数:')) b = int(input('请输入第二个正整数:')) print(③)n): # 递归定义函数,求m和n的最大公约数 if ① == 0: # m可以被n整除 return n # 求得最大公约数 ②: q = m % n return f(n, q) a = int(input('请输入第一个正整数:')) b = int(input('def f(m, n): # 递归定义函数,求m和n的最大公约数 if ① == 0: # m可以被n整除 return n # 求得最大公约数 ②: q = m % n (478点数解答 | 2026-01-05 10:51:21)37
- [字节豆包] python # 获取用户输入的年龄 n = int(input()) # 根据年龄范围输出相应的结果 if0 <= n <= 3: print("infant") elif 4 <= n <= 12: print("child") elif 13 <= n <=18: print("youngster") elif 19 <= n <= 25: print("youth")(387点数解答 | 2025-06-17 10:03:07)149
- ```python year_str = input("请输入一个年份:") year = int(year_str) if year % 400 == 0: print(f"{year}年是闰年") elif year %100 == 0: print(f"{year}年不是闰年") elif year % 4 == 0: print(f"{year}年是闰年") else: print(f"{year}年不是闰年") ``` 运行结果(299点数解答 | 2024-04-03 19:37:58)392
- [字节豆包] 0/4 In file included from problem2/problem2.cpp:1:0: problem2/main.h: In function ‘std::__cxx11::string reverseWords(std::__cxx11::string)’: problem2/main.h:8:4: error: ‘vector’ was not declared in this scope vector words; ^~~~~~ problem2/main.h:8:4: note: suggested alternative: ‘perror’ vector words; ^~~~~~ perror problem2/main.h:8:17: error: expected primary-expression before ‘>’ token vector words; ^ problem2/main.h:8:19: error: ‘words’ was not declared in this scope vector words; ^~~~~ probl(489点数解答 | 2025-11-12 14:49:29)54
- [阿里通义] def sushu(n): for i in range(2,n): if n%i==0: return False elif n<=1: return False else: return True ls=[] for i in range(1,21): if sushu(i)==True: ls.append(i) print(ls)(287点数解答 | 2025-01-09 14:51:20)273
- [字节豆包] 用Java输出:# 读取输入的三个浮点数 a, b, c a, b, c = map(float, input().split()) # 计算根的判别式 delta delta = b ** 2 - 4 * a * c if delta > 0: # 当 delta 大于 0 时,方程有两个不同的解 x1 = (-b + delta ** 0.5) / (2 * a) x2 = (-b - delta ** 0.5) / (2 * a) # 按照格式输出结果,保留两位小数 print(f"x1={x1:.2f} x2={x2:.2f}") elif delta == 0: # 当 delta 等于 0 时,方程有一个解 x1 = -b / (2 * a) # 按照格式输出结果,保留两位小数 print(f"x1={x1:.2f}") else: # 当 delta 小于 0 时,方程无解 print("No answer") (329点数解答 | 2025-12-10 22:05:16)31
- [阿里通义] 定义一个函数isprime(x),判断x是否为素数,若是返回true,否则返回false。通过键盘输入两个整数m和n,调用此函数输出两数范围之内素数的个数(包括m和n)。 如果m=10,n=100,素数个数是( ) 部分代码如下: #定义函数isprime(x) ... m = int(input("第1个数:")) n = int(input('第2个数:')) #统计[m,n]之间素数个数 ... print(f"{m}和{n}之间素数有{____}个") 运行效果: 第1个数:10 第2个数:100 10和100之间素数有**个 作答:def isprime(x): if x <= 1: return false for i in range(2, int(x ** 0.5) + 1): if x % i == 0: return false return true m = int(input("第1个数:")) n = int(input('第2个数:')(292点数解答 | 2024-11-28 21:36:29)232