急!用VB编写程序,对输入的字符串进行识别,找出其中大写字母、小写字母、空格、数字及其他字符的个数。
Private Sub Command1_Click()
For i = 1 To Len(Text1.Text)
aa = Mid(Text1.Text, i, 1)
Select Case Asc(aa)
Case 32
空格 = 空格 + 1
Case 48 To 57
数字 = 数字 + 1
Case 65 To 90
大写 = 大写 + 1
Case 97 To 120
小写 = 小写 + 1
Case Else
其他 = 其他 + 1
End Select
Next
Print "空格数:"; 空格
Print "数字数:"; 数字
Print "大写数:"; 大写
Print "小写数:"; 小写
Print "其他数:"; 其他
End Sub
#include
#include
int main()
{
char input[200];
int Big,Little,Space,Num,Other;
int i,len;
Big=Little=Space=Num=Other=0;
gets(input);
len = strlen(input);
for(i = 0;i<len;i++)
{
if(input[i]>='A' && input[i]<='Z')
{
++Big;
}
else if(input[i]>='a' && input[i]<='z')
{
++Little;
}
else if(' ' == input[i])
{
++Space;
}
else if(input[i]>='0' && input[i]<='9')
{
++Num;
}
else
{
++Other;
}
}
printf("大写字母:%d
小写字母:%d
空格:%d
数字:%d
其他字符:%d
",Big,Little,Space,Num,Other);
return 0;
}
根据我对你描述的理解写的,你看看是不是这样
'在窗体中添一个CommandButton、一个TextBox
Private Sub Command1_Click()
Dim IntL As Long, IntU As Long, IntS As Long, IntN As Long, IntO As Long
Dim I As Long, Char As String * 1
For I = 1 To Len(Text1.Text)
Char = Mid(Text1.Text, I, 1)
Select Case Char
Case "A" To "Z": IntU = IntU + 1
Case "a" To "z": IntL = IntL + 1
Case "0" To "9": IntN = IntN + 1
Case " ": IntS = IntS + 1
Case Else: IntO = IntO + 1
End Select
Next
MsgBox "TextBox中的字符串统计结果:" & vbCrLf & Space(2) & "大写字母:" & IntU & "个" _
& vbCrLf & Space(2) & "小写字母:" & IntL & "个" _
& vbCrLf & Space(2) & "数字:" & IntN & "个" _
& vbCrLf & Space(2) & "空格:" & IntS & "个" _
& vbCrLf & Space(2) & "其它字符:" & IntO & "个", vbOKOnly Or vbInformation, "统计字符输出"
End Sub
遍历字符串,比较其ASCII,分别用不同的变量
参考代码
Dim intNumber As Integer, intUcase As Integer, intLcase As Integer, intSpace As Integer
Dim i As Integer, strTmp As String
intNumber = 0
intUcase = 0
intLcase = 0
intSpace = 0
For i = 1 To Len(Text1.Text)
strTmp = Mid(Text1.Text, i, 1)
If Asc(strTmp) > 47 And Asc(strTmp) < 58 Then intNumber = intNumber + 1
If Asc(strTmp) > 64 And Asc(strTmp) < 91 Then intUcase = intUcase + 1 '大写字母个数
If Asc(strTmp) > 96 And Asc(strTmp) < 123 Then intLcase = intLcase + 1
If Asc(strTmp) = 32 Then intSpace = intSpace + 1
Next
可以把字符遍历一下,然后用ASCII值来判断统计,具体函数请参考MSDN。
我怎么觉得我前几天回答了这个问题呀!
急!用VB编写程序,对输入的字符串进行识别,找出其中大写字母、小写字母、空格、数字及其他字符的个数。视频
相关评论:
康娥飘= 2 To c If b(i) > max Then max = b(i)If b(i) < min Then min = b(i)Next i Print "你输入的数中最大为:"; max, "最小为:"; min End Sub 你输入学生分数后,最后按-1才会退出,记住一定要按-1 好啦,不信你可以在VB中做下,就会看到效果啦,不懂发消息问我!
康娥飘凡是前面的数比后面的数大的话就换位子,当第九个和第十个比完后,第十个位子永远是最大的数。然后再对前9个数再做一次这个事情,那第九个数就变9个里最大的了,直到最后一次第一个数和第二个数比完(此时后面8个数已经按序排列了)后,整个数列就变成了从小到大排列了 ...
康娥飘代码如下:Sub Form_Click()a = InputBox(w输入第一个数"> a — Val(a)b = InputBox(w输人第二个数") b = Val(b)c = InputBox("输人第三个数 c = VaKc)d = InputBox(w输人第四个数") d = Val(d)sum = a + b+ c + d aver = sum \/ 4 ...
康娥飘Dim n As Integern = CInt(InputBox("输入一个0-6的正整数:"))Do While n < 0 Or n > 6 MsgBox "输入数据错误,请重新输入!" n = CInt(InputBox("输入一个0-6的正整数:"))LoopSelect Case n Case 0 Print "星期天" Case 1 Print "星期一" Case 2 ...
康娥飘此题使用For-Next循环语句。具体编写如下图所示。3、不仅仅需要一个For-Next循环语句,还需要在里面嵌套一个For-Next循环语句。4、最后将剩下的代码补齐,编写完整的代码如下图所示。5、然后运行程序,输入一个值检验一下。如果n为8,则1!+2!+3!+4!...+8!=46233,就完成了。
康娥飘Private Sub Form_KeyPress(KeyAscii As Integer)Print "Ascii: " & KeyAscii & ", 字符:" & Chr(KeyAscii)End Sub
康娥飘Private Sub Command1_Click()Dim S As String Dim a As Integer, b As Integer, c As Integer, d As Integer 'a表示字母数量,b表示数字数量,c表示空格数量,d表示其它字符数量 Dim n As Integer, m As Integer Dim I As Integer n = Len(Text1.Text)For I = 1 To n S = Mid(...
康娥飘Private Sub Command1_Click()Dim n As Integer n = 200 Do While n > 100 Or n < 0 n = InputBox("请输入一个小于100的正整数:")Loop MsgBox ("√" & n & "=" & Sqr(n))End Sub
康娥飘Private Sub Command1_Click()Dim s As String, d As Dates = InputBox("请输入你的出生年月日" & vbCrLf _& "格式为yyyy-m-d" & vbCrLf & "如:1990-6-5")If IsDate(s) Then d = CDate(s) MsgBox "你的生日是" & d & vbCrLf _ & "这个日期起往后10000天是" & ...
康娥飘Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Label1.Text = "姓名" Label2.Text = "性别" Label3.Text = "爱好" RadioButton1.Text = "男" RadioButton2.Text = "女" CheckBox1...