PTA7-3 单词首字母大写
时间: 2023-12-10 18:02:55 浏览: 263
以下是Python实现单词首字母大写的代码:
```python
s = input() # 输入句子
result = ""
for sentence in s.split("."): # 以句号为分隔符分割句子
for sub_sentence in sentence.split("?"): # 以问号为分隔符分割子句
for sub_sub_sentence in sub_sentence.split("!"): # 以感叹号为分隔符分割子子句
if sub_sub_sentence.strip() != "": # 去除空格后判断是否为空
result += sub_sub_sentence.strip()[0].upper() + sub_sub_sentence.strip()[1:] + " " # 将首字母大写后加入结果字符串
print(result[:-1]) # 输出结果字符串,去除最后一个空格
```
相关问题
pta单词首字母大写
### 实现 PTA 单词首字母大写的编程方法
在多种编程语言中可以实现将一句话中每个单词的首字母大写。以下是几种常见编程语言的具体实现方式。
#### Java 实现
Java 可以通过自定义函数来处理字符串,使每个单词的首字母变为大写:
```java
public class CapitalizeWords {
public static void main(String[] args) {
String str = "pta is a common abbreviation";
System.out.println(capitalizeWords(str));
}
private static String capitalizeWords(String inputString) {
char[] chars = inputString.toLowerCase().toCharArray();
boolean foundWordStart = true;
for (int i = 0; i < chars.length; i++) {
if (foundWordStart && Character.isLetter(chars[i])) {
chars[i] = Character.toUpperCase(chars[i]);
foundWordStart = false;
} else if (chars[i] == ' ') {
foundWordStart = true;
}
}
return new String(chars);
}
}
```
这段代码遍历整个字符串并检测到新单词开始时将其首个字母转为大写[^1]。
#### C语言实现
对于C语言来说,可以通过逐字扫描的方式完成相同的操作:
```c
#include <stdio.h>
#include <ctype.h>
void capitalize(char *str){
int cap_next = 1;
while (*str != '\0'){
if (cap_next && isalpha(*str)){
*str = toupper((unsigned char)*str);
cap_next = 0;
}else if (!isalnum(*str)){
cap_next = 1;
}
++str;
}
}
int main(){
char sentence[100];
fgets(sentence, sizeof(sentence), stdin);
// Remove newline character from fgets
size_t len = strlen(sentence);
if(len > 0 && sentence[len-1] == '\n') {
sentence[len-1] = '\0';
}
capitalize(sentence);
printf("%s\n", sentence);
return 0;
}
```
该程序读取用户输入的一句话,并调用`capitalize` 函数修改原字符串使其满足条件[^4]。
#### Python 实现
Python 提供了一个非常简洁的方法——使用 `title()` 方法即可轻松达成目标:
```python
def pta_capitalization():
s = "pta example string"
capitalized_string = s.title()
print(capitalized_string)
pta_capitalization()
```
上述脚本会输出 `"Pta Example String"` ,即实现了每项要求[^5]。
pta 单词首字母大写
### 实现单词首字母大写的多种方法
#### Java实现方式
在Java中可以利用`split()`函数分割字符串成数组,再通过循环遍历每个单词并将其第一个字符转为大写:
```java
public class CapitalizeWords {
public static String capitalize(String str) {
if (str == null || str.isEmpty()) return str;
StringBuilder result = new StringBuilder();
boolean nextTitleCase = true;
for (char c : str.toCharArray()) {
if (Character.isSpaceChar(c)) {
nextTitleCase = true;
} else if (nextTitleCase) {
c = Character.toTitleCase(c);
nextTitleCase = false;
}
result.append(c);
}
return result.toString();
}
}
```
此代码段会检查每一个字符,当遇到空白符时设置标志位,在下一个非空白字符处应用标题化处理即变为大写字母[^1]。
#### Python实现方式
对于Python而言,内置的方法可以直接用于解决这个问题。使用`title()`方法能够轻松地让每个单词的第一个字母变成大写形式:
```python
def capitalize_words(s):
return s.title()
```
这种方法简单高效,适用于大多数情况下的需求。
#### C语言实现方式
针对C语言环境中的解决方案如下所示,该方案基于逐个读入字符的方式来进行判断和转换操作:
```c
#include <stdio.h>
int main() {
char ch, prev = ' ';
while ((ch = getchar()) != EOF) {
if (ch >= 'a' && ch <= 'z' && prev == ' ')
ch = ch - 'a' + 'A';
putchar(ch);
prev = ch;
}
return 0;
}
```
这段程序会在每次接收到新字符的时候检测它是否满足条件——既是一个小写字母又紧跟在一个空格之后;如果是的话就执行相应的ASCII码运算完成大小写的转变过程[^3]。
阅读全文
相关推荐














