365文库
登录
注册
2

2012甘肃专升本计算机程序设计

158阅读 | 6收藏 | 9页 | 打印 | 举报 | 认领 | 下载提示 | 分享:
2
2012甘肃专升本计算机程序设计第1页
2012甘肃专升本计算机程序设计第2页
2012甘肃专升本计算机程序设计第3页
2012甘肃专升本计算机程序设计第4页
2012甘肃专升本计算机程序设计第5页
2012甘肃专升本计算机程序设计第6页
2012甘肃专升本计算机程序设计第7页
2012甘肃专升本计算机程序设计第8页
2012甘肃专升本计算机程序设计第9页
福利来袭,限时免费在线编辑
转Pdf
right
1/9
right
下载我编辑的
下载原始文档
收藏 收藏
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
安琪拉屎姜子牙疼 上传于:2024-07-14
2012甘肃专升本计算机程序设计 1、求解AX+BX+C=0的根、其中A、B、C三个参数由键盘输入。一元二次方程的求根公式是:X=-b±√b²-4ac/2a clear text 一元二次方程求解 ax^2+bx+c=0 endtext input "请输入a的值:" to a input "请输入b的值:" to b input "请输入c的值:" to c m=b*b-4*a*c if m>=0 x1=(-b+sqrt(m))/(2*a) x2=(-b-sqrt(m))/(2*a) ?"x1的值是:",x1 ?"x2的值是:",x2 else ?"此方程无实根!" endif 2、编写程序将1-100之间所有能被7和3整除的整数输出 clear for i=1 to 100 if i%3=0 and i%7=0 ??i endif endfor 3、编写程序计算e,e的近似值计算公式为: e=1+1/1!+1/2!+1/3!+...+1/n!,直到1/n!<0.000001为止 clear e=1 n=1 do while .t. k=1 for i=1 to n k=k*i endfor m=1/k e=e+m if m<0.000001 exit endif n=n+1 enddo ?"e=1+1/1!+1/2!+1/3!+…+1/n!=",e 4、编写程序,计算1!+2!+3!+.......N!=? clear input "请输入n的值:" to n s=0 t=1 for i=1 to n t=t*i s=s+t endfor ?"1!+2!+3!+.......N!=",s 5、从键盘输入十个数,将它们进行降序排列。 clear dime a(10) for i=1 to 10 input "请输入一个数:" to a(i) endfor ?"降序排列为:" for i=1 to 9 for j=i+1 to 10 if a(i)b k=b endif endfor ?"其中最大的数是:",a ?"其中最小的数是:",k 12、从键盘输入一个字符串,统计其中各个字符的个数,包括数字,大小写英文字母和特殊字符。 clear accept "请输入一串字符:" to x store 0 to dyw,xyw,kg,sz,qt m=len(x) for i=1 to m x1=substr(x,i,1) k=asc(x1) do case case k=32 kg=kg+1 case k>=48 and k<=57 sz=sz+1 case k>=65 and k<=90 dyw=dyw+1 case k>=97 and k<=122 xyw=xyw+1 other qt=qt+1 endcase endfor ?"其中空格有: "+alltrim(str(kg))+"个" ?"大写字母有: "+alltrim(str(dyw))+"个" ?"小写字母有: "+alltrim(str(xyw))+"个" ?"数字有: "+alltrim(str(sz))+"个" ?"其它字符有: "+alltrim(str(qt))+"个" 13、输入一个十进制数,将它转换为二进制数并显示出来。 clear s="" input "请输入一个十进制数:" to a do while a>0 b=a%2 a=int(a/2) s=alltrim(str(b))+s enddo ?"转换为二进制为:",s 14、VFP编程:有一个3×4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的位置。 clear dime a(3,4) for i=1 to 3 for j=1 to 4 input "请输入一个值:" to a(i,j) endfor endfor k=a(1,1) for m=1 to 3 for n=1 to 4 r=a(m,n) if r>k k=r x1=m x2=n endif endfor endfor ?"其中最大的值是:",k ?"它所在的位置是第"+alltrim(str(x1))+"行,第"+alltrim(str(x2))+"列" 15、求1000到10000之间的回文数(1001、3883、4554、7007、9999等),并求它们的和。 clear s=0 ?"1000到10000之间的回文数有:" for i=1000 to 10000 m=alltrim(str(i)) zx="" dx="" for j=1 to 4 zx=zx+substr(m,j,1) dx=dx+substr(m,5-j,1) endfor if zx=dx ??m+space(3) s=s+i endif endfor ?"它们的和是:",s 16、(1)输入两个数,求它们的最大公约数。   clear input "请输入第1个数:" to a input "请输入第2个数:" to b c=min(a,b) do while c>0 if a%c=0 and b%c=0 s=c exit endif c=c-1 enddo ?"它们的最大公约数是:",s (2)输入两个数,求它们的最小公倍数。 clear input "请输入第1个数:" to a input "请输入第2个数:" to b c=max(a,b) do while .t. if c%a=0 and c%b=0 s=c exit endif c=c+1 enddo ?"它们的最小公倍数是:",s 17、求s=a+aa+aaa+aaaa...+aaaaaaa...a (n个a) ,a是一个数字,n和a用键盘键入 clear input "请输入a的值:" to a input "请输入n的值:" to n k=a s=a for i=2 to n k=a*10^(i-1)+k s=s+k endfor ?"s=a+aa+aaa+aaaa...+aaaaaaa...a (n个a)=",s 18、用vf求100以内的所有完数 clear ?"1到100内的所有完数为:" for i=1 to 100 s=0 for j=1 to int(i/2) if i%j=0 s=s+j endif endfor if s=i ??i endif endfor 19、用vf求s=1+1/2+2/3+3/5+......,前10项之和 clear s=1 a=1 b=1 for i=1 to 9 c=a+b a=b b=c k=a/b s=s+k endfor ?"s=1+1/2+2/3+3/5+......,前10项之和是:",s 20、1/2+2/3+3/5+5/8+......,前20项之后 clear a=1 b=2 s=0 for i=1 to 20 s=s+a/b c=a+b a=b b=c endfor ?"1/2+2/3+3/5+5/8+......的前20项之后为:",s 1、 求[10,1000]内所有能被被7和9中至少一个数整除的整数之个数。 答案:236 num=0 for i=10 to 1000 if mod(i,7)=0 or mod(i,9)=0 num=num+1 endif endfor ?num 2、 求[101,299]内所有能被2整除但不能同时被3和5整除的整数之和。 答案:18630 s=0 for i=101 to 299 if mod(i,2)=0 and not (mod(i,3)=0 and mod(i,5)=0) s=s+i endi endf ?s 3、求100以内最大的自然数n,使得从1开始的连续n个自然数的倒数之和小于3.5。 答案:18 s=0 for i=1 to 100 s=s+1/i if s>=3.5 exit endi endf ?i-1 4、求100以内最小的自然数n,使得从1开始的连续n个自然数的立方之和大于30000。 答案:25 s=0 for i=1 to 100 s=s+i^3 if s>30000 exit endi endf ?i 5、求出100以内使得算式1*2+2*3+…+n*(n+1)的值小于5000的最大的自然数n。 答案:23 s=0 for i=1 to 100 s=s+i*(i+1) if s>=5000 exit endi endf ?i-1 6、求出100以内使得算式1/(1*1)+1/(2*2)+…+1/(n*n)的值小于1.6的最大的自然数n。 答案:21 s=0 for i=1 to 100 s=s+1/i^2 if s>=1.6 exit endi endf ?i-1 7、某国今年的人口总数为1亿,若以每年4%的速度递增,试求出至少要再过几年该国人口总数才会翻一翻。 答案:18 n=0 x=1 do while x<2 x=x*(1+0.04) n=n+1 enddo ?n 8、设等比数列:1,3,9,27,…。求使得此数列的前n项之和大于2345678的最小的自然数n。 答案:14 s=0 n=0 do while s<=2345678 s=s+3^n n=n+1 enddo ?n 9、求出45678的所有非平凡因子(即除1和它本身以外的约数)中是奇数的因子个数。 答案:7 n=0 s=45678 for i=3 to 22839 step 2 if mod(s,i)=0 n=n+1 endif endfor ?n 10、求
tj