这个程序在VB中与VC中是有些些不同的,因为VC中当定义每位为整型时,它不会有四舍五入规则的,而VB中则不同。比如:VC中(153/100)%10=1,而VB中它算出来的为2,所以注意这个就可以了。在VB中就先从个位判断,是否超过或等于5,是的话就让它减去0.5,不是的话直接操作。
成都创新互联是一家网站设计制作、成都网站制作,提供网页设计,网站设计,网站制作,建网站,按需定制网站,网站开发公司,从2013年成立是互联行业建设者,服务者。以提升客户品牌价值为核心业务,全程参与项目的网站策划设计制作,前端开发,后台程序制作以及后期项目运营并提出专业建议和思路。
VB中程序如下:一个按钮,一个标签就可以了。
Dim m As Integer
Dim m1 As Integer
Dim m2 As Integer
Dim m3 As Integer 'm,m1,m2,m3最好是分开定义不然会出现ByRef参数类型不符的错误
Dim str As String
Private Sub Command1_Click()
For m = 100 To 999
m3 = m Mod 10
If m3 = 5 Then
m2 = (m / 10 - 0.5) Mod 10 '因为当个位数大于5时,m/10会进一位,即十位会比原来的数据多1,所以要把这个四舍五入的位取消五入规则
Else
m2 = (m / 10) Mod 10
End If
If m2 = 5 Then
m1 = m / 100 - 0.5 '原因同上
Else
m1 = m / 100
End If
If ((cubic(m1) + cubic(m2) + cubic(m3)) = m) Then
str = str + CStr(m) + vbCrLf '把每计算出的数据存到str中,并换行
Label2.Caption = str
End If
Next m
End Sub
Function cubic(data As Integer) As Double
cubic = data * data * data
End Function
结果如下图:
代码为:
using System;
using System.Collections.Generic;
using System.Text;
namespace _
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("一重循环判断:");
Console.WriteLine("水仙花数有:");
int i,j, k, l;
for (i = 100; i 1000;i++)
{
j = i / 100;
k = i %100/10;
l = i % 10;
int n = j * j * j + k * k * k + l * l * l;
if (n == i)
Console.WriteLine(n);
}
Console.WriteLine("三重循环判断:");
Console.WriteLine("水仙花数有:");
int q, w, e, r;
for(q=1;q=9;q++)
for(w=0;w=9;w++)
for (e = 0; e = 9; e++)
{
int s = q * 100 + w * 10 + e;
int t = q * q * q + w * w * w + e * e * e;
if (s == t)
Console.WriteLine(s);
}
}
}
}
扩展资料:
注意事项
自定义函数is(number)判断number的各位数字立方和是否等于它本身,如is(121)返回值0,is(153)返回值1。 主函数输入两个正整数m和n(m=1, n=1000),输出m-n之间的所有满足各位数字和等于它本身的数。
Input
多组测试数据,每组输入两个正整数m和n(m=1, n=1000)。
Output
输出m-n之间的所有满足各位数字立方和等于它本身的数,空格隔开(最后一个数后无空格)。
Sample Input
1 100
50 200
50 500
Sample Output
1
153
153 370 371 407
#includestdio.h
#includemath.h
int is(int number)
{
int s,sum=0;
while(number!=0)
{
s=number%10;//不断取余,直至为0
sum+=pow(s,3);
number=number//10;不断去尾,直至为0
}
return sum;
}
int main(void)
{
int m,n,k,flag;
while(scanf("%d%d",m,n)!=EOF)
{
flag=1;
for(k=m;k=n;k++)
{
if(k==is(k))
{
if(flag!=0)
{
printf("%d",k);
flag=0;
}
else
printf(" %d",k);
}
}
printf("\n");
}
return 0;
}
VB实现水仙花数的程序代码如下:
PrivateSubCommand_Click()
Fornum=100To999
a=numMod10
b=num\10Mod10
c=num\100
Ifa^3+b^3+c^3=numThenPrintnum
Nextnum
EndSub
实现具体步骤如下:
1.启动VB程序,新建一个标准的exe项目,如下图。
2.在窗体上绘制命令按钮(名称:命令),双击命令按钮以进入代码窗口,如下图。
3.接下来,开始为命令按钮编写单击事件。click事件实现了上面提供的程序代码,如下图。
4.按F5运行程序并单击命令按钮。水仙花产量为4:15,370,371,407,如下图。
扩展资料:
C语言实现水仙花数的代码:
#include stdio.h
#include stdlib.h
voidmain()
{
inti,j,k,n;
printf("'waterflower'numberis:");
for(n=100;n1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(n==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}
注意事项:
VB编程的核心思想是组件编程。VB是最早引入组件编程的概念,然后被其他语言采用并成为标准,如vc++、Delphi、PowerBuilder等都采用了组件编程模型,并利用面向对象的编程技术,成为当今程序设计的发展方向之一。
VB编程,由于采用了组件技术,所以不必从底层开始窗体,控制设计,可以由工厂通过各种零件装配生产机器,通过Microsoft或第三方提供的组件,装配成所需的程序。与什么?VB是代码,它像胶水一样,把有限的代码和组件粘合在一起。结果是一个完整的应用程序。
VB有一个图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以很容易地使用daos、RDO、ADO连接到数据库,或者很容易地创建活动的X控件,从而高效地生成类型安全的和面向对象的应用程序。
程序员可以使用VB提供的组件轻松快速地构建应用程序。VB的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。
VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组件的出现,程序员可以选用自己需要的扩展库。