value是js对象的属性,如document.getElementById("demo").value,或document.getElementById("demo").value="demo"。
valueof是js对象的方法,如
var fruits = ["Banana", "Orange", "Apple", "Mango"]
var v=fruits.valueOf()
结果是:Banana,Orange,Apple,Mango
你的程序中存在一些逻辑问题和语法问题(编译都过不了)1。MAX没定义
2。a未定义
3。ab,cd只要十位数不为0就可以,而你却判断成ab == 0,cd == 0了
4。逻辑不够清晰,最好有一个好的书写习惯和风格,再多一些注释
帮你改了个新的、正确的,供参考(没有改变你原有的变量名,最好要改一改):
void jsVal()
{
int i//计数
int cnt = 0 //满足条件的数的个数,初始为0
int b[1000] //用于存储满足条件的四位数,大小必须足够大。
int thou//千位数
int hun//百位数
int ten//十位数
int data//个位数
int ab//thou * 10 + ten
int cd//data * 10 + hun
//四位数,由于thou不能为0,data不能为0,所以就从1001开始就可以了,
//由于结果要从大到小排序,因此从大到小循环试值就可以,以免后期的排序
for(i = 9999i >= 1001i--)
{
thou = i / 1000 //原来代码中的a是没有声明的,应该是i
hun = i / 100 % 10
ten = i / 10 % 10
data = i % 10
if( thou == 0 ||//条件1:ab的十位(thou)不能等于0,由于最小数已经是1001了,所以这个判断可以不要,但作为完整示意,还是留下。
data == 0 ||//条件2:cd十位(data)不能等于0
ten % 2 == 0 || //条件3:ab为奇数,所以ab的个位(ten)应为奇数
hun % 2 == 0) //条件4:cd为奇数,所以cd的个位(hun)应为奇数
continue
ab = 10 * thou + ten
cd = 10 * data + hun
if( (ab <cd) && //条件1:ab <cd
(ab % 5 == 0 || cd % 5 == 0)) //条件2:ab,cd中至少有一个被5整除
b[cnt++] = i
}
}