专升本 计算机编程题类型总结.docx

上传人:b****1 文档编号:810953 上传时间:2022-10-13 格式:DOCX 页数:30 大小:67.31KB
下载 相关 举报
专升本 计算机编程题类型总结.docx_第1页
第1页 / 共30页
专升本 计算机编程题类型总结.docx_第2页
第2页 / 共30页
专升本 计算机编程题类型总结.docx_第3页
第3页 / 共30页
专升本 计算机编程题类型总结.docx_第4页
第4页 / 共30页
专升本 计算机编程题类型总结.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

专升本 计算机编程题类型总结.docx

《专升本 计算机编程题类型总结.docx》由会员分享,可在线阅读,更多相关《专升本 计算机编程题类型总结.docx(30页珍藏版)》请在冰豆网上搜索。

专升本 计算机编程题类型总结.docx

专升本计算机编程题类型总结

①求和类:

1.计算S=1!

+2!

+3!

+4!

+。

+N!

求N的阶乘。

(N的值由键盘输入,应小于20)

INPUT“输入N的值”TON

P=1

FORI=1TON

P=P*I

ENDFOR

?

N,“!

=”,P

S=0

K=1

INPUT"N="TON

FORi=1TON

K=K*i

S=S+K

Endfor

?

S

2.求

SUM=0

FORI=1TO21STEP2

SUM=SUM+I^3

ENDFOR

?

”SUM=”,SUM

3.有一分数序列,求前20项之和

M=1

N=2

SUM=0

FORI=1TO20

TERM=N/M

SUM=SUM+TERM

X=N

N=M+N

M=X

TERM=N/M

ENDFOR

?

”SUM=”,SUM

4.求Sn=a+aa+aaa+aaaa……,其中,a是一个数字,a的个数为n,a和n由键盘输入

INPUT"输入a的值:

"TOA

INPUT"输入项数n:

"TON

SN=0

B=A

FORI=1TON

SN=SN+A

A=A*10+B

ENDFOR

?

"数列之和为:

",SN

5.求ex的台劳级数展开式的前n项之和(运行时输入x=2.0,n=4)

INPUT“X=”TOX

INPUT“N=”TON

SUM=1

P=1

FORI=1TON-1

P=P*I

T=X^I/P

SUM=SUM+T

ENDFOR

?

”SUM=”,SUM

6.求1*2+3*4+5*6+……21*22

SUM=0

FORI=1TO21STEP2

SUM=SUM+I*(I+1)

ENDFOR

?

"和为=",SUM(1892)

7.通过键盘输入n,求下列级数的

和:

⋅1-1/2+1/3-1/4+…+1/n

INPUTTON

S=0

F=1

FORI=1TON

S=S+F*(-1)^(I-1)/I

ENDFOR

?

S

8.计算连续自然数之和,并且显示和刚大于1000的最后一个自然数

●Sn=1+2+3+4+…+N

STORE0TOS,N

DOWHILES<=1000

N=N+1

S=S+N

ENDDO

?

N

9.求1^2+4^2+7^2+…一直加到超过1000为止,输出和数与项数。

I=1

S=0

N=0

DOWHILES<=1000

S=S+I^2

I=I+3

N=N+1

ENDDO

?

N

?

S

10.求1-100之间所有奇数之和

SUM=0

FORI=1TO100STEP2

SUM=SUM+I

ENDFOR

?

“SUM=”,SUM

10.输出100到200之间所有能被5或7整除的整数,并输出他们的和。

SUM=0

FORI=100TO200

IFMOD(I,10)=5ANDMOD(I,7)=0

SUM=SUM+I

?

I

ENDIF

ENDFOR

?

“SUM=”,SUM

11.编程输出100~500之间能被7整除的奇数的个数。

N=0

FORI=101TO500STEP2

IFMOD(I,7)=0

N=N+1

ENDIF

ENDFOR

?

“N=”,N

N=0

FORI=100TO500

IFI%7=0ANDI%2=1

N=N+1

ENDIF

ENDFOR

?

“N=”,N

12.求1/(1*2)+1/(3*4)+1/(5*6)+……+1/(99*100)

sum=0

fori=1to99step2

sum=sum+1/(i*(i+1))

endfor

?

"sum=",sum

13.

求如下级数前N项之和(X和N的值由键盘输入)

S=1

INPUTTOX

INPUTTON

FORI=1TON

S=S+X^I/I

ENDFOR

?

“SUM=”,S

14.输出3-100之间的所有素数,并求其和。

SUM=0

FORJ=3TO100

FLAG=.T.

FORI=2TOSQRT(J)

IFMOD(J,I)=0

FLAG=.F.

EXIT

ENDIF

ENDFOR

IFFLAG=.T.

?

J

SUM=SUM+J

ENDIF

ENDFOR

?

"奇数之和是:

",SUM

②方程类

1.完成下面分段函数的计算,程序运行时用户从键盘输入一个数值X,在屏幕上输出Y值。

INPUT"请输入X值:

"TOX

IFX>0

Y=X*X

ELSE

IFX=0

Y=0

ELSE

Y=-(X*X)

ENDIF

ENDIF

?

Y

2.现有一元2次方程AX^2+BX+C=0其中ABC是整数且A不等于0若存在实根,则输出“在实数范围内有解”若不存在实根则输出“在实数范围内无解”/求解

INPUTTOA

INPUTTOB

INPUTTOC

D=B*B-4*A*C

IFD>=0

?

"在实数范围内有解"

ELSE

?

"在实数范围内无解"

ENDIF

/

INPUTTOA

INPUTTOB

INPUTTOC

D=B*B-4*A*C

IFD>0

X1=(-B+SQRT(D))/(2*A)

X2=(-B-SQRT(D))/(2*A)

?

X1

?

X2

ELSE

IFD>0

X=-B/(2*A)

?

"X1=X2=",X

ELSE

?

"无解"

ENDIF

ENDIF

3.输入一个X的值,求Y的值。

Y=

INPUTTOX

DOCASE

CASEX<1

Y=X

CASEX<10

Y=2*X-1

CASEX>=10

Y=3*X-11

ENDCASE

?

Y

③数组类

1.输入10个数,输出其中小于平均值S的数。

DIMEA(10)

S=0

FORI=1TO10

INPUTTOA(I)

S=S+A(I)

ENDFOR

S=S/10

FORI=1TO10

IFA(I)

?

?

A(I)

ENDIF

ENDFOR

2.输入10个数,求其中最大数和最小数。

dimea(10)

fori=1to10

input“Enteranumber:

”toa(i)

endfor

big=a

(1)

small=a

(1)

fori=2to10

ifa(i)>big

big=a(i)

ENDIF

ifa(i)

small=a(i)

endif

endfor

?

“Thesmallestnumberis”,small

?

“Thebiggestnumberis”,big

3.输入10个数,求其中最大数和最小数,并确定它们的位置。

dimea(10)

fori=1to10

input“Enteranumber:

”toa(i)

endfor

big=a

(1)

BP=1

small=a

(1)

SP=1

fori=2to10

ifa(i)>big

big=a(i)

BP=I

ENDIF

ifa(i)

small=a(i)

SP=I

endif

endfor

?

“ThePLACEOFTHEsmallestnumberis”,sP

?

“Thesmallestnumberis”,small

?

“ThePLACEOFTHEbiggestnumberis”,bP

?

“Thebiggestnumberis”,big

4.从键盘输入10个整数,现从中查找某个数,若查到,输出“YES”,否则输出“NO”。

DIMENSIONA(10)

FORI=1TO10

INPUT"输入10个整数"TOA(I)

ENDFOR

INPUT"输入待查找的整数"TOX

FORI=1TO10

IFX=A(I)

?

"YES"

EXIT

ENDIF

ENDFOR

IFI>10

?

"NO"

ENDIF

5.

已有按从小到大的顺序排列的10个数,现输入一个数,要求插入到数列中。

插入后数列仍然按从小到大顺序排列。

DIMENSIONA(11)

FORI=1TO10

INPUT“递增输入10个整数”TOA(I)

ENDFOR

INPUT“任意输入一个整数”TOX

FORI=10TO1STEP-1

IFX

IFI=1

A(I+1)=A(I)

A(I)=X

ELSE

A(I+1)=A(I)

ENDIF

ELSE

A(I+1)=X

EXIT

ENDIF

ENDFOR

FORI=1TO11

?

?

A(I)

ENDFOR

?

6.数组A中已存放了10个由小到大排列的数。

现从键盘输入一个数X,要求删除数组中与其相同的数,并将后续的数依次前移,最后输出剩余的数。

(7分)

考虑到有重复数的程序如下:

DIMEA(10)

FORI=1TO10

INPUT“按递增输入10个数”TOA(I)

ENDFOR

INPUT“输入待删除的数”TOX

I=1

J=1

N=0

DOWHILEI<=10

IFA(I)

I=I+1

J=J+1

ELSE

IFA(I)=X

I=I+1

N=N+1

ELSE

EXIT

ENDIF

ENDIF

ENDDO

FORK=ITO10

A(J)=A(K)

J=J+1

ENDFOR

FORK=1TO10-N

?

A(K)

ENDFOR

7.输入10个数,按升序排列后输出。

dimea(10)

fori=1to10

input“Enteraninteger:

”toa(i)

endfor

fori=1to9

forj=i+1to10

ifa(i)>a(j)

temp=a(i)

a(i)=a(j)

a(j)=temp

endif

endfor

endfor

fori=1to10

?

a(i)

endfor以上是一维数组(数组中只有一个下标)程序举例。

在VFP中,还可以建立二维数组。

定义方法是:

DIMEA(2,3)

第一维代表行,第二维代表列,这样就在内存中开辟了6个连续的存储单元,数组元素的名称分别为:

A(1,1)A(1,2)A(1,3)

A(2,1)A(2,2)A(2,3)二维数组的元素赋初值及其处理通常要用二重循环,外循环代表行,内循环代表列。

如:

FORI=1TO2

FORJ=1TO3

INPUTTOA(I,J)

ENDFOR

ENDFOR

二维数组特别适合用来解决矩阵问题。

矩阵中有如下几个术语要掌握:

行列相等的矩阵叫方阵;方阵中有主对角线、辅对角线、下三角元素、外围元素等

 

1.建立一个六行六列的方阵,求出两条对角线上所有元素之和。

DIMEA(6,6)

FORI=1TO6

FORJ=1TO6

A(I,J)=I+J

ENDFOR

ENDFOR

SUM=0

FORI=1TO6

SUM=A(I,I)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1