教教我啊!PASCAL问题!
pascal 问题 1.输入四个任意整数,输出最接近平均值的那个数。(不用绝对值函数,相同的可取任一个)。 2。输入任意四个数,由小到大输出。 3.输入三个正整数a,b,c.若这三个数全是偶数,输出其中的最大值;若这三个数全是奇数,输出其中的最小值;否则输出它们的平均值。 4.输入三个正整数a,b,c.若这三个数全是正数,按递增次序输出它们;若这三个数全是负数,按递减次序输出它们;否则输出它们绝对值最大者。(不用绝对值函数)。
上面答的很好 我也学到东西了,还有就是BT做好哦
1:不用绝对值函数你搞什么东东,推荐你用:abs(x);不然就只能和0比较大小慢慢搞了。。。。先求出平均值,再求各数与它的差的绝对值,绝对值最小的,输出;如果不用函数,可以先和0比较大小,再求差(也就是求绝对值); 2:用数组进行排序,方法有很多,介绍最简单的,a[1]和a[2]比,大的靠前,a[1]和a[3]比,大的靠前。
一趟一趟下去。
具体: for i:=1 to 3 do for j:=i+1 to 4 do if a[i]0)and(b mod 2<>0)and(c mod 2<>0)then {同上,随机应变}else{求平均值}; 4:不是说了正整数码?题目有问题吧?又是不用函数,简直就是求一个活数轴嘛,能省得了函数吗?还是先判断,if (a>0)and(b>0)and(c>0)then{接着问题2的步骤}else if (a<0)and(b<0)and(c<0)then{按照问题2的步骤随机应变}else{BT!!!}{和0比大小,大的减小的,差即绝对值,再比大小} 这题目够BT的,好累~~~作为薪酬,我要做最佳答案!!!。
答:var i,j.temp:integer; a,b:array[1..20]of integer; begin for i:=1 to 20 do read(a...详情>>