```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_string(char *str) { int len = strlen(str); for (int i = 0; i < len / 2; i++) { char temp = str[i]; str[i] = str[len - i - 1]; str[len - i - 1] = temp; } } // 反转句子函数 void reverse_sentence(char *sentence) { int len = strlen(sentence); char words[100][100]; // 假设最多100个单词,每个单词最长100个字符 int word_count = 0; char *token = strtok(sentence, " "); // 分割句子为单词 while (token != NULL) { strcpy(words[word_count], token); word_count++; token = strtok(NULL, " "); } // 反向处理每个单词 for (int i = word_count - 1; i >= 0; i--) { int is_all_lower = 1; int is_all_upper = 1; int is_all_digit = 1; int word_len = strlen(words[i]); // 检查单词的属性 for (int j = 0; j < word_len; j++) { if (!islower(words[i][j])) { is_all_lower = 0; } if (!isupper(words[i][j])) { is_all_upper = 0; } if (!isdigit(words[i][j])) { is_all_digit = 0; } } // 根据属性处理单词 if (is_all_lower) { for (int j = 0; j < word_len; j++) { words[i][j] = toupper(words[i][j]); } } else if (is_all_upper) { for (int j = 0; j < word_len; j++) { words[i][j] = tolower(words[i][j]); } } else if (is_all_digit) { reverse_string(words[i]); } // 输出处理后的单词 if (i < word_count - 1) { printf(" "); } printf("%s", words[i]); } printf("\n"); } int main() { char sentence[1000]; // 假设句子最长1000个字符 fgets(sentence, sizeof(sentence), stdin); // 去除fgets可能读取的换行符 sentence[strcspn(sentence, "\n")] = 0; reverse_sentence(sentence); return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 字符数组的大小要合理设置,避免越界访问。在这个代码里,要根据实际情况调整`words`数组和`sentence`数组的大小。 2. 使用`fgets`读取输入时,会读取换行符,需要手动去除,否则可能影响后续处理。 3. 在使用`strtok`分割字符串时,它会修改原字符串,要注意对原字符串的备份或使用方式。 [2025-10-25 10:06:05 | AI写代码神器 | 803点数解答]
- [字节豆包] ```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)21
- [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)33
- [讯飞星火] ```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)22
- [字节豆包] #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)10
- [字节豆包] # 定义一个函数,根据入职天数返回工龄分类 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)293
- [字节豆包] 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)13
- [字节豆包] 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)105
- ```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)352
- [阿里通义] 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)228
- [阿里通义] 定义一个函数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)209
- [字节豆包] fieldname=['商品 id','图书名称','价格','商品编码','出版社'] bookdata=[1,"html5+css3 移动 web开发实战",58.00,"50676377587","人民邮电出版社"] for item in fieldname: if item.find("id")!=-1: print("{:^10s }".format(item),end="") elif item.find("图书名称")==-1: print(": 14s}".format(item), end="") else: print(": 24s}".format(item), end="") print("") print("{:^10s }".format(item),end="") valueerror: invalid format specifier 帮我修复(187点数解答 | 2024-10-16 15:53:08)292
- [字节豆包] fieldname=['商品 id','图书名称','价格','商品编码','出版社'] bookdata=[1,"html5+css3 移动 web开发实战",58.00,"50676377587","人民邮电出版社"] for item in fieldname: if item.find("id")!=-1: print("{:^10s }".format(item),end="") elif item.find("图书名称")==-1: print(": 14s}".format(item), end="") else: print(": 24s}".format(item), end="") print("") print("{:^10s }".format(item),end="") valueerror: invalid format specifier 帮我修复(204点数解答 | 2024-10-16 15:53:41)239