每个单词的字母都变成大写,VB程序

来源:百度知道 编辑:UC知道 时间:2024/06/19 19:44:58
这是我在准备等级考试时碰到的题目,要求将一个英文句子的每个单词的首字母都变成大写如i am a good student,变成I Am A Good Student
是道填空题
Dim oldsen As String, newsen As String
Dim char As String, lastchar As String
Dim k As Integer, i As Integer
oldsen = InputBox("请输入英文句子:")
k = --------1---------
lastchar = --------2-------
For i = 1 To k
char = --------3--------
If lastchar = "" Then
char = UCase(char)
End If
newsen = newsen & char
lastchar = char
Next i
Form1.Print "input:"; oldsen
Form1.Print "output:"; newsen

请说清楚为什么要这么填,谢谢!!~~~
回答已经给出答复的两位,我在程序里试过了,不管是哪一位的答案,都只是把这个句子的首字母变成大写,没有把每个单词的首字母都变成大写

1:len(oldsen)'得到oldsen字符串的长度
2:" "'上个字符初始为空
3:mid(oldsen,i,1)'取得第i个字符,当上个字符(lastchar)为“ ”时,表示char为某个单词的第一个字符,需要转大写,否则不转大写,直接与newsen连接组成新字符串即可。

4.如果If lastchar = "" Then你没有写错的话,那么题目就有点问题,否则应该改为If lastchar = " " Then

题目和楼上回答都有点微妙的问题。
这可能是楼主的笔误,
If lastchar = "" Then
这句引号之间没有空格,如果没有空格则无法判断上一次的字符是否为新单词的开始而出现错误,
应该是:
If lastchar = " " Then

因此第2空的答案应该是:
2: " " '上个字符初始为空

前面两位说的不错,那个lastchar=" "双引号里是有空格的,你改过之后,那下面就是答案了:
1.Len( oldsen )
2." "注意双引号里是一个空格
3.Mid(oldsen,i,1)