用VB编写一个程序,输入一个英文句子,可以统计出各个元音字母以及其他字符的个数

作者&投稿:彩省 (若有异议请与网页底部的电邮联系)
vb任意输入一个或者多个英文句子,统计这些句子中的单词数量.~

Private Sub Command1_Click()Dim a() As Stringa = Split(Text1.Text, " ")Text2.Text = UBound(a) + 1End Sub细节自已调整。。。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
main()
{
char string[100];//根据拟从键盘输入的字串的长度需要适当调整,要避免输入的长度超出设定的范围。
char c;
int i,num=0,sum=0,word=0;//定义word用来指示一个单词是不是结束或新单词是否开始;
printf("请从键盘输入一行需要查询的英文句子,进行单词数量统计:

");
gets(string);//从键盘获得输入的字符串;
//以下统计句子中的英文字符个数;
for(i=0;(c=string<i>)!='\0';i++)//for循环语句,遍历句子中的每个字符;初始化i=0;若字符c!='\0',即未到达结束符'\0'的话,执行i++;
{
if(('A'<=string<i>&&string<i><='Z')||
('a'<=string<i>&&string<i><='z'))
sum++;//以上为条件句,如果字符在A~Z,a~z范围之内的话,则执行sum++,累加英文字母个数;
}
//以下统计句子中的英文单词个数;
for(i=0;(c=string<i>)!='\0';i++)//for循环语句,遍历句子中的每个字符;初始化i=0;若字符c!='\0',即未到达结束符'\0'的话,执行i++;
{//'\0'用作字符串的结束符。它的ASCII数值是0。
if(c<'A'||c>'Z'&&c<'a'||c>'z')//设定条件:如果字符c遇到A~Z和a~z范围之外其它符号字符的话,包括遇到空格'';
word=0;//上面条件为真时,执行这里,置word=0,表示未遇到单词,或一个单词已结束,同时也意味着要开始遇到下一个新单词;
else if(word==0)//当条件(word==0)为真,执行下面花括号里面的语句;
当word==0时,表示未遇到字母,即未遇到单词,或上一个单词已结束;
{
word=1;//那么置word=1,即,表示下一个新单词开始,
num++;//执行num++,累加英文单词的个数;
}
}
printf("
");
printf("您输入的这句英文句子中共包含%d个英文字符,%d个英文单词。
",sum,num);
}
示例:输入语句:Hello!My friend,how are you?(注意单词的前后有空格)

扩展资料:

include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。
如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函。

我比较喜欢用正则表达式,VB6.0还是第一次用,好久没写VB代码了

'//首先要引用Microsoft VBScript Regular Express 5.5
Private Sub Command1_Click()
   If Trim(Text1.Text) <> "" Then
      Dim str As String
      '//处理一下空格
      str = Replace(Trim(Text1.Text), " ", "")
      Dim lenstr As Integer
      lenstr = Len(str)
      Dim nvchar As String
      Dim en_count, envowel_count, encons_count, orther_count As Integer
      For i = 1 To lenstr Step 1
          nvchar = Mid(str, i, 1)
          If IsEn(nvchar) = True Then
             en_count = en_count + 1
             If IsEnvowel(nvchar) = True Then
                envowel_count = envowel_count + 1
             Else
                encons_count = encons_count + 1
             End If
          Else
             orther_count = orther_count + 1
          End If
      Next i
      MsgBox "一共有字母" + CStr(en_count) + "个,其他字符" + CStr(orther_count) + "个。其中辅音" + CStr(encons_count) + "个,元音" + CStr(envowel_count) + "个"
   Else
      MsgBox "文本输入是空值!"
   End If
End Sub
'//判断是否英文字母
Function IsEn(varchar As String) As Boolean
   Dim rex As RegExp
   Set rex = New RegExp
   rex.Pattern = "[a-zA-Z]"
   IsEn = rex.Test(varchar)
End Function
'//判断是否元音字母
Function IsEnvowel(varchar As String) As Boolean
   Dim rex As RegExp
   Set rex = New RegExp
   rex.Pattern = "[aeiouAEIOU]"
   IsEnvowel = rex.Test(varchar)
End Function




(vb程序设计)求代码:设计一个运行界面如下图所示的程序,要求单击单选...
Combo1.AddItem Screen.Fonts(i)Next Combo1.ListIndex = 0 For i = 6 To 40 Step 2 Combo2.AddItem i Next Combo2.ListIndex = 12 Text1.Font.Size = Combo2.Text End Sub Private Sub Option1_Click()Text1.ForeColor = vbBlack End Sub Private Sub Option2_Click()Text1.ForeColor...

用VB做一个简单的小程序
Private Sub Command1_Click() Me.Cls Dim N As Integer, i As Integer N = InputBox("n=", , 9) For i = 1 To 2 * N - 1 If i <= N Then Print Space(N - i) + String(2 * i - 1, CStr(i)) Else Print Space(N - (2 * N - i)) + String...

用VB程序编写一个过程来计算1+2+3+4+……+100的值。
Dim c As Integer '项数 Dim d As Integer '结果 Public Sub Add()a = InputBox("首项", "")b = InputBox("末项", "")c = InputBox("项数", "")d = (a + b) * c \/ 2 MsgBox d End Sub Private Sub Form_Load()Call Add End Sub 针对这个问题首项=1,末项=100,项数...

编写一个vb程序输出1,1,2,3,5,8...前20个数
form加一个按钮,复制代码运行即可 Private Sub Command1_Click()Dim i, j, k, t i = 1: j = 1 Print i Print j For k = 3 To 20 t = j j = i + j i = t Print j Next k End Sub 结果:1 1 2 3 5 8 13 21 34 55 89 144 ...

用VB语言实现一个小程序
小程序很简单,不用控件,代码如下:Dim A(4) As String, B(4) As Integer, C(4) As String, St As StringDim I As Integer, J As Integer, H1 As Integer, H2 As Integer Private Sub Form_Load() Form1.AutoRedraw = True A(1) = "葡萄牙" A(2) = "西班牙" A(...

vb语句 设计一个随机数程序,生成10个范围是1到100随机整数,并求出这...
'声明变量 dim Min_num as int dim Max_num as int dim Sum_num as int dim Arr_num(9) as int '赋予初始值 Min_num=101 Max_num=-1 Sum_num=0 '循环10次获得10个随机数 for i=1 to 10 randomize Arr_num(i-1)=int(rnd*100)+1 '判断后赋值最小值 if Arr_num(i-1)<Min_...

用vb编程:编写程序计算一个由两位随机数构成的3乘4二维数组的每行的...
Private Sub Command1_Click()Dim a(3, 4) As Integer For i = 1 To 3 s = 0 For j = 1 To 4 a(i, j) = Int(Rnd * 90) + 10 s = s + a(i, j)Print Format(a(i, j), "@@@");Next j Print " 和="; s Next i End Sub ...

用vb创建一个应用程序,要求使用print方法在窗体中央显示一行文字_百度...
Private Sub Form_Click()Dim l As Integer Dim h As Integer Dim i As Integer Dim s As String s = "你好"Me.ScaleMode = 4 l = Me.ScaleWidth h = Me.ScaleHeight h = h \/ 2 l = l \/ 2 For i = 1 To h + 1 Print Next i For i = 1 To l Print " ";Next i Pri...

如何用VB编写一个简单的减法程序?
Private Sub Command1_Click()'文本框Text3的内容等于Text1的数值减去Text2的数值 '其中Val 函数用来返回字串表达式的数值 Me.Text3.Text = Val(Me.Text1.Text) - Val(Me.Text2.Text)End Sub

用VB 怎样编写下面这个程序:从键盘上输入字符时,在窗体上显示出所键入...
Private Sub Form_KeyPress(KeyAscii As Integer)Print "Ascii: " & KeyAscii & ", 字符:" & Chr(KeyAscii)End Sub

吐鲁番地区17156299514: 编写VB程序,在文本框中输入一个简单的英文句子,找出这个句子中最长的单词 -
承桑广东:[答案] '不用这么复杂,你的代码太长没有看,如果一定用你的代码,我再给你修改一下 Option Explicit Private Sub Command1_Click() Dim i As Long,arr,n As Long If InStr(Text1," ") > 0 Then arr = Split(Text1) For i = 0 To UBound(arr) If Trim(arr(i)) "" ...

吐鲁番地区17156299514: 使用VB在Text1中输入一个英语句子,在Text2中显示出句子中有多少个单词!急用!【提示】根据题意可知:统计单词个数由其中的空格来判断,利用num变... -
承桑广东:[答案] Private Sub Text1_Change() Text2.Text = UBound(Split(Text1.Text," ")) + 1 End Sub

吐鲁番地区17156299514: 在vb中编写一个程序,输入一个一位数,输出对应的英文单词 -
承桑广东: 举例来说:Private Sub Command1_Click()dim arr(1 to 9) as string arr(1)="ah" arr(2)="boy" arr(3)="cow" arr(4)="did" arr(5)="egg" arr(6)="fox" arr(7)="gay" arr(8)="hello" arr(9)="i'm" dim x as string x=inputbox("请输入一...

吐鲁番地区17156299514: VB程序、、编写应用程序,要求在TextBox控件的文本框中输入一个英文句子后完成如下操作: -
承桑广东: 请用以下代码要求一个list1 用来排序单词 请将sorted属性设置为true .Private Sub Command1_Click() Dim ano For i = 1 To Len(Text1.Text) If Mid(Text1.Text, i, 1) = "a" Then ano = ano + 1 End If Next MsgBox ano & "个a" End Sub Private ...

吐鲁番地区17156299514: 编写程序VB,在一个文本框中输入一个简单的英文句子,找出这个英文句子中最长的单词 -
承桑广东: Private Sub Command1_Click() If Text1.Text = "" Then Exit Sub Dim word As Variant, s As String Dim k As Integer, maxw As String, n As Integer s = Replace(Replace(Text1.Text, ",", " "), ".", " ") s = Replace(Replace(s, ",", " "), "...

吐鲁番地区17156299514: 使用VB在文本框中输入一行英文句子,统计其中的单词个数? -
承桑广东: private sub Command1_Click() n=0 strold=" " s=text1.text for i = 1 to len(s) strnew=ucase(mid(s,i,1)) if (strold<"A" or strold>"Z") and (strnew>="A" and strnew<="Z") then n=n+1 end if strold=strnew next i print "单词个数";n end sub

吐鲁番地区17156299514: VB在文本框中输入一句英文,并求这句英文包含字符的个数
承桑广东: Private Sub Command1_Click() Print Len(Text1.Text) '字符的个数 Print Asc(Text1.Text) '第一个字符的ASCII码值 Print InStr(Text1.Text, " ") '空格在字符串中第一次出现的位置 End Sub

吐鲁番地区17156299514: VB中输入一段英文句子,在列表框中输出各单词,输出最长英文单词的代码. -
承桑广东: split分割 得到各个单词 定义2个变量 ml长度 as long ms单词 as string 然后进行循环每个单词 得到最长的值和单词 这是思路..自己写代码..

吐鲁番地区17156299514: VB程序设计题:设一窗体上有文本框、按钮、列表框各一个,在文本框中输入任意一个英文句子…… -
承桑广东: 如果是句子 多个单词的话 处理字符串 分解字符串 在“ ” 空格去一下

吐鲁番地区17156299514: 编写一个VB的英文打字练习程序 完整代码 -
承桑广东: Dim m, s As Double Private Sub Command1_Click() Text2.Text = "" Text1.Text = "" For i = 1 To 30 Text2.Text = Text2.Text & Chr(Int(Rnd * 25 + 66)) Next i Timer1.Enabled = True Timer1.Interval = 1000 m = 0 s = 1 End Sub Private Sub ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网