1、从键盘上输入3个不同的数,将他们从大到小排序。请将下列程序填写完整。(提示:利用三个if…endif语句实现,其中交换时用到的临时内存变量为t)。。 set talk off
input \请输入第一个数:\input \请输入第二个数:\input \请输入第三个数:\**********Program********** if a
t=a a=b b=t
endif if a t=a a=c c=t endif if b t=b b=c c=t endif ********** End ********** ?a,b,c Return Set talk on 2、求[1,100]内所有能被3或被5整除的数以及个数。(提示:利用do while语句实现)。 Set talk off clear n=0 i=1 **********Program********** Do while i<=100? IF MOD(i,3)=0 .OR. MOD(i,5)=0 **int(i/3) = i/3 .OR. int(i/5) = i/5 ?? i n=n+1 Endif i=i+1 enddo ********** End ********** ? \满足条件的数的个数为:\Set talk on Return 3、求自然数5的阶乘。请将下列程序填写完整。(用FOR循环语句) SET TALK OFF S = 1 M = 1 **********Program********** FOR M=1 TO 5 S=S*M ENDFOR ********** End ********** ? S SET TALK ON RETURN 4、从键盘上输入一个数n,计算n的阶乘。 Set talk off Input \请输入n的值:\S=1 **********Program********** For I=1 to N S=S*I Endfor ********** End ********** ?S Set talk on Return 5、求连乘数1*2*3*4*……,当积大于720时退出程序。(提示:利用do while语句实现)。 Set talk off s=1 && S表示积 I=1 **********Program********** Do while .T.? s=s*i IF S>720 EXIT ENDIF I=I+1 Enddo ? \ ********** End ********** Set talk on return 6、键盘上任意输入2个数,然后将这2个数从大到小显示输出。(注:中间变量用t,不允许使用max()函数和min()函数)。 INPUT \输入第1个数:\INPUT \输入第2个数:\ **********Program********** IF n1 ********** End ********** ENDIF ?n1,n2 RETURN 7、从键盘上输入5个数,求最大的一个数。 Set talk off Input \请输入第一个数:\**********Program********** For i=1 to 4 Input \请输入第\个数:\ If y>x x=y endif endfor ********** End ********** ?x Set talk on return 8、为自来水公司计算水费: 如果用户用水量不超过5吨,每吨0.8元;超过5吨时, 超出部分每吨1.4元。请编写完整程序。(要求用input语句接受用水量的输入,最后的水费用变量x输出。) SET TALK OFF INPUT \请输入用水量:\**********Program********** IF W<5 X=0.8*W ELSE X= 0.8*5 + (W-5) * 1.4 ENDIF ? \应交水费为:\元\SET TALK ON ********** End ********** RETURN 9、求自然数1至100的和并输出。请将下列程序填写完整。(用DO WHILE语句) SET TALK OFF S=0 I=1 **********Program********** DO WHILE I<=100 S=S+I I=I+1 ENDDO ********** End ********** ? S SET TALK ON RETURN 10、分别统计zg表中性别为男和性别为女的职工人数。 set talk off use zg **********Program********** count for 性别=\男\ count for 性别=\女\?\性别为男的职工人数是:\?\性别为女的职工人数是:\ ********** End ********** use set talk on return 11、求S=1!+2!+ … +N!。(提示:利用FOR循环语句实现, i 为循环始值变量),将下列程序填完整。) Clear s=1 y=0 input\请输入N的值\**********Program********** for i=1 to n s=s*i y=y+s endfor ********** End ********** ?y Return 12、从键盘上输入10个整数,将其中的奇数与偶数分别相加后输出\奇数和\以及\偶数和\。 请将下列程序填写完整。(提示:利用IF…ENDIF语句实现,判断某一个数m的奇偶, 用m/2=int(m/2) )。 SET TALK OFF CLEAR I=1 A=0 J=0 DIME NO(10) DO WHILE I<=10 INPUT \输入整数:\**********Program********** IF NO(I)/2=INT(NO(I)/2) A=NO(I)+A ELSE J=J+NO(I) ENDIF ********** End ********** I=I+1 ENDDO ?\奇数和:\偶数和:\RETURN 13、为鼓励存款,对定期存款时间少于1年的,利率为3%,等于或大于1年而少于三年的,利率为5%,等于或大于3年而少于5年的,利率为7%,五年以上的,利率为9%,请根据输入的年限,确定利率。(提示:利用do case…endcase语句实现,其中利率用内存变量ll)。 Set talk off nx=0 @5,10 say '输入定期年限' get nx read **********Program********** do case case nx<1 ll=0.03 case nx<3 ll=0.05 case nx<5 ll=0.07 otherwise ll=0.09 endcase ********** End ********** @8,10 say ll Set talk on 14、用DO WHILE 循环语句编写程序。程序实现的功能为竖向显示\优秀学生\,横向显示\学生优秀\。(提示:利用do while… enddo语句实现,变量A 保存初始值\优秀学生\, N为循环变量。), Set talk off Store \优秀学生\Clear N=1 **********Program********** DO WHILE N<8 ?SUBSTR(A,N,2) N=N+2