注册 登录
编程论坛 VB6论坛

10-100以内各位数字之和为12且此数为偶数的程序。

VB题 发布于 2013-04-09 20:48, 439 次点击
10-100以内各位数字之和为12且此数为偶数的程序。
dim a,b ,c,i as integer
a=0:b=0:c=0
for i=10  to 100 step 2
a=i mod 10
b=i\10
if a+b=12  and i mod 2=0 then
c=i
endif
next i
print c
这个程序结果只有一个84,为什么没48和66呀。请指教谢谢!!!
1 回复
#2
风吹过b2013-04-09 21:38
因为你程序里只保存最后一个结果,所以只有一个 84出来。
你在 print c 这一行写在  c=i 后面就可以看到有 3个结果。

-----优化程序--------
dim a as integer,b as integer,c as integer
for a=1 to 10     '十位和百位
  for b=0 to 9 step 2    '个位,确保为偶数
     if a+b =12 then     '如果和是 12
        c=a*10+b         '得到C
        if c<=100 then   '小于100
           print c       '输出C
        end if
     end if
  next b
next a

-----最优结果--------
dim a as integer ,b as integer
for a=2 to 8 step 2  
'a是十位及百位,因范围是 10-100 ,那么 a 的范围是 1-10 ,因这个数要偶数,各位数据各是偶数,
'所以 a 只能是偶数。当 a=10 时,如果和为12时,那么个位应该是2,超过了100,不符合,优化结果就是去掉。

  b=12-a
  if b<10 then
    print a * 10 + b
  end if
next a

-----以上程序均未经测试----------
1