НАЙдите сумму цифр целого пятизначного числа,больших 5
Private Sub CommandButton1_Click()
Dim a1 As Integer
Dim a2 As Integer
Dim a3 As Integer
Dim a4 As Integer
Dim a5 As Integer
Dim q As Integer
Dim s As Integer
a1 = CInt(TextBox1.Text)
a2 = CInt(TextBox2.Text)
a3 = CInt(TextBox3.Text)
a4 = CInt(TextBox4.Text)
a5 = CInt(TextBox5.Text)
TextBox6.Text = s
p = 1
If a1 > 5 = Int(a1 > 5) Then
q(a1) = a1
If a1 <= 5 = Int(a1 <= 5) Then
q(a1) = a1
Else: q(a1) = a1 > 5
End If
End If
If a3 > 5 = Int(a3 > 5) Then
q(a3) = a3 > 5
If a3 <= 5 = Int(a3 <= 5) Then
q(a3) = a3
Else: q(a3) = a3 > 5
End If
End If
If a4 > 5 = Int(a4 > 5) Then
q(a3) = a4 > 5
If a4 <= 5 = Int(a4 <= 5) Then
q(a4) = a4
Else: q(a4) = a4 > 5
End If
End If
If a5 > 5 = Int(a5 > 5) Then
q(a5) = a5 > 5
If a5 <= 5 = Int(a5 <= 5) Then
q(a5) = a5
Else: q(a5) = a5 > 5
End If
End If
s = p * s
s = q(a1) + q(a2) + q(a3) + q(a4) + q(a5)
End Sub
Другие языки программирования и технологии
помогите по vba
Число вводится в TextBox1, результат появляется в ListBox1. Правда если число не 5 значное то считает неправильно.
Private Sub CommandButton1_Click()
Dim a, a1, a2, a3, a4, a5, s As Integer
a = TextBox1.Text
a1 = Int(a / 10000): a = a - a1 * 10000
a2 = Int(a / 1000): a = a - a2 * 1000
a3 = Int(a / 100): a = a - a3 * 100
a4 = Int(a / 10): a = a - a4 * 10
a5 = a
s = 0
If a1 > 5 Then s = s + a1
If a2 > 5 Then s = s + a2
If a3 > 5 Then s = s + a3
If a4 > 5 Then s = s + a4
If a5 > 5 Then s = s + a5
ListBox1.AddItem "сумма: " + CStr(s)
End Sub
Private Sub CommandButton1_Click()
Dim a, a1, a2, a3, a4, a5, s As Integer
a = TextBox1.Text
a1 = Int(a / 10000): a = a - a1 * 10000
a2 = Int(a / 1000): a = a - a2 * 1000
a3 = Int(a / 100): a = a - a3 * 100
a4 = Int(a / 10): a = a - a4 * 10
a5 = a
s = 0
If a1 > 5 Then s = s + a1
If a2 > 5 Then s = s + a2
If a3 > 5 Then s = s + a3
If a4 > 5 Then s = s + a4
If a5 > 5 Then s = s + a5
ListBox1.AddItem "сумма: " + CStr(s)
End Sub
Все неправильно. Тебе надо ввести одно 5-значное число и найти сумму тех цифр, которые больше 5. Лучше так.
Private Sub CommandButton1_Click()
Dim a As Long, a1 As Integer, a2 As Integer, a3 As Integer, a4 As Integer, a5 As Integer
Dim s As Integer
a = 0
Do While (a >= 10001) And (a <= 99999)
' Цикл крутится до тех пор, пока в TextBox1 не введут 5-значное число
a = CInt(TextBox1.Text)
Loop
' Выделяем цифры из числа
a1 = Int(a / 10000) : a = a - a1*10000
a2 = Int(a / 1000) : a = a - a2*1000
a3 = Int(a / 100) : a = a - a3*100
a4 = Int(a / 10) : a = a - a4*10
a5 = a
' Ищем сумму
s = 0
' Если цифра больше 5, она прибавляется к сумме.
If a1 > 5 Then s = s + a1
If a2 > 5 Then s = s + a2
If a3 > 5 Then s = s + a3
If a4 > 5 Then s = s + a4
If a5 > 5 Then s = s + a5
TextBox2.Text = s
End Sub
Private Sub CommandButton1_Click()
Dim a As Long, a1 As Integer, a2 As Integer, a3 As Integer, a4 As Integer, a5 As Integer
Dim s As Integer
a = 0
Do While (a >= 10001) And (a <= 99999)
' Цикл крутится до тех пор, пока в TextBox1 не введут 5-значное число
a = CInt(TextBox1.Text)
Loop
' Выделяем цифры из числа
a1 = Int(a / 10000) : a = a - a1*10000
a2 = Int(a / 1000) : a = a - a2*1000
a3 = Int(a / 100) : a = a - a3*100
a4 = Int(a / 10) : a = a - a4*10
a5 = a
' Ищем сумму
s = 0
' Если цифра больше 5, она прибавляется к сумме.
If a1 > 5 Then s = s + a1
If a2 > 5 Then s = s + a2
If a3 > 5 Then s = s + a3
If a4 > 5 Then s = s + a4
If a5 > 5 Then s = s + a5
TextBox2.Text = s
End Sub
Такие задачи можно решать, представив число строкой. За основу берем код Удачника.
Вместо фрагмента
-----------------------------
' Выделяем цифры из числа
a1 = Int(a / 10000) : a = a - a1*10000
a2 = Int(a / 1000) : a = a - a2*1000
a3 = Int(a / 100) : a = a - a3*100
a4 = Int(a / 10) : a = a - a4*10
a5 = a
' Ищем сумму
s = 0
' Если цифра больше 5, она прибавляется к сумме.
If a1 > 5 Then s = s + a1
If a2 > 5 Then s = s + a2
If a3 > 5 Then s = s + a3
If a4 > 5 Then s = s + a4
If a5 > 5 Then s = s + a5
-----------------------------
Вставляем такой фрагмент кода
-----------------------------
s = 0
For i = 1 To 5
If CInt(Mid(a, i, 1)) > 5 Then s = s + Mid(a, i, 1)
Next i
-----------------------------
Вместо фрагмента
-----------------------------
' Выделяем цифры из числа
a1 = Int(a / 10000) : a = a - a1*10000
a2 = Int(a / 1000) : a = a - a2*1000
a3 = Int(a / 100) : a = a - a3*100
a4 = Int(a / 10) : a = a - a4*10
a5 = a
' Ищем сумму
s = 0
' Если цифра больше 5, она прибавляется к сумме.
If a1 > 5 Then s = s + a1
If a2 > 5 Then s = s + a2
If a3 > 5 Then s = s + a3
If a4 > 5 Then s = s + a4
If a5 > 5 Then s = s + a5
-----------------------------
Вставляем такой фрагмент кода
-----------------------------
s = 0
For i = 1 To 5
If CInt(Mid(a, i, 1)) > 5 Then s = s + Mid(a, i, 1)
Next i
-----------------------------
Похожие вопросы
- помогите с vba excel
- помогите с VBA
- Нужен простой ЯП как для хобби, так и вспомогательный в работе, что то на замену VBA.
- Прошу теоретической помощи с VBA! (не кодер)
- VBA - Парсинг в Excel-VBA курса ЦБ
- Програмирование в VBA
- VBA EXCEL. Где найти список формул по английски??? чтоб потом вписывать формулы через VBA.
- помогите решить задачку, на VBA для Excel
- Как решать задачи по VBA
- Создание функции в VBA