冲刺程序设计答案.docx

上传人:b****1 文档编号:12767383 上传时间:2023-04-22 格式:DOCX 页数:39 大小:35.13KB
下载 相关 举报
冲刺程序设计答案.docx_第1页
第1页 / 共39页
冲刺程序设计答案.docx_第2页
第2页 / 共39页
冲刺程序设计答案.docx_第3页
第3页 / 共39页
冲刺程序设计答案.docx_第4页
第4页 / 共39页
冲刺程序设计答案.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

冲刺程序设计答案.docx

《冲刺程序设计答案.docx》由会员分享,可在线阅读,更多相关《冲刺程序设计答案.docx(39页珍藏版)》请在冰豆网上搜索。

冲刺程序设计答案.docx

冲刺程序设计答案

冲刺程序设计答案

一、顺序程序设计

1、settalkoff

clear

input“请输入球的半径:

”toa

s=4*pi()*a^2

v=4*pi()*a^3/3

?

”球的表面积为:

”,s

?

”球的体积为:

”,v

settalkon

cancel

后面教学中,请各位老师的都要在每个程序上面加上settalkoff以及后面的settalkon。

2、settalkoff

clear

input“a=”toa

input“b=”tob

input“c=”toc

p=-b/(2*a)

q=sqrt(b^2-4*a*c)/(2*a)

x1=p+q

x2=p-q

?

”方程的根为”,x1,x2

settalkon

cancel

二.选择结构

1.

clear

input"请输入一个数"toa

ifa%2!

=0

?

a,"为奇数"

else

?

a,"为偶数"

endif

cancel

2.

clear

input"请输入一个数"toa

input"请输入一个数"tob

input"请输入一个数"toc

docase

casea>=b.and.a>=c

?

"最大数为:

",a

caseb>=a.and.b>=c

?

"最大数为:

",b

casec>=a.and.c>=b

?

"最大数为:

",c

endcase

cancel

3.

clear

input"三角形的边长:

"toa

input"三角形的边长:

"tob

input"三角形的边长:

"toc

ifa+b>c.and.a+c>b.and.b+c>a.and.a>0.and.b>0.and.c>0

p=(a+b+c)/2

s=sqrt(p*(p-a)*(p-b)*(p-c))

?

"三角形的面积为:

",s

else

?

"请重新运行程序!

"

endif

cancel

三.循环结构

for循环(一般用于循环次数是确定的情况)

1.

clear

fori=1to100

ifi%5=0

?

i

endif

next

cancel

2.clear

s=0

fori=1to100

s=s+i^(1/3)

next

?

s

cancel

3.

clear

s=0

input"请输入一个数:

"ton

fori=1ton

s=s+(i+1)/i

next

?

"表达式的值为:

",s

cancel

4.

clear

s=0

input"请输入一个数:

"ton

fori=1to2*n

s=s+(-1)^(i-1)/i

next

?

"表达式的值为:

",s

cancel

5.

clear

s=0

kk=0

input"请输入数字"ton

fori=1ton

s=s+i

kk=kk+1/s

next

?

"表达式的和为:

",kk

cancel

dowhile循环(或者while循环(c语言))(一般用于循环次数不确定的情况)

1.

clear

s=0

n=1

k=1

d=1

dowhile1/n>=1e-6

k=d*1/n

n=n+2

s=s+k

d=-d

enddo

m=s*4

?

"pi的值为:

",m

cancel

2.

clear

s=1

n=1

k=1

input"请输入一个数"tox

dowhilex^n/k>=1e-6

s=s+x^n/k

n=n+1

k=k*n

enddo

?

"数列的和为:

",s

cancel

3.

clear

n=1

k=1

s=0

dowhile1/k>=1e-6

s=s+1/k

n=n+2

k=k*n*(n-1)

enddo

?

s

cancel

4.

clear

s=0

input"请输入一个数字"toa

dowhilea!

=0

x=a%10

a=int(a/10)

s=s+x

enddo

?

"各位数字之和为:

",s

cancel

5.

clear

input"请输入一个数"toa

s=0

x=a

ifa<0

a=abs(a)

endif

dowhilea!

=0

k=a%10

a=int(a/10)

s=s*10+k

enddo

ifs=abs(x)

?

x,"是一个回文数"

else

?

x,"不是一个回文数"

endif

cancel

6.

clear

input“请输入一个数”tot

a=1

b=1

c=2

dowhilec<=t

a=b

b=c

c=a+b

enddo

?

c

cancel

四.数组

一维数组

1.

clear

dimena(10)

fori=1to10

inputtoa(i)

next

min=a

(1)

max=a

(1)

k=1

m=1

fori=2to10

ifa(i)>max

max=a(i)

k=i

endif

ifa(i)

min=a(i)

m=i

endif

next

?

”最大值和位置为:

”,max,k

?

”最小值和位置为:

”,min,m

cancel

2.

clear

dimea(10)

fori=1to10

inputtoa(i)

next

fori=1to9

forj=i+1to10

ifa(i)>a(j)

c=a(i)

a(i)=a(j)

a(j)=c

endif

next

next

?

"排序后的结果为:

"

fori=1to10

?

?

a(i)

next

cancel

3.

clear

inputton

dimena(n)

fori=1ton

inputtoa(i)

next

fori=1toint(n/2)

c=a(i)

a(i)=a(n-i+1)

a(n-i+1)=c

next

fori=1ton

?

?

a(i)

next

二维数组

1.

clear

dimena(3,4)

fori=1to3

forj=1to4

inputtoa(i,j)

next

next

max=a(1,1)

min=a(1,1)

fori=1to3

forj=1to4

ifa(i,j)>max

max=a(i,j)

endif

ifa(i,j)

min=a(i,j)

endif

next

next

?

”最大值与最小值分别为:

”,max,min

cancel

2.

clear

dimena(3,4)

dimenb(3)

fori=1to3

forj=1to4

inputtoa(i,j)

next

next

fori=1to3

max=a(i,1)

forj=1to4

ifa(i,j)>max

max=a(i,j)

endif

next

b(i)=max

next

fori=1to3

b(i)

next

cancel

3

clear

dimensiona(3,3)

dimensionb(3,3)

dimensionc(3,3)

fori=1to3

forj=1to3

inputtoa(i,j)

next

next

fori=1to3

forj=1to3

b(j,i)=a(i,j)

next

next

fori=1to3

forj=1to3

c(i,j)=a(i,j)+b(i,j)

next

next

fori=1to3

forj=1to3

?

?

c(i,j)

next

?

next

cancel

五.字符串处理专题

字符串中字符个数的统计

1.

clear

accept"请输入一个字符串"toa

store0tox,m,y,z

fori=1tolen(a)

b=substr(a,i,1)

docase

caseb>="a".and.b<="z"

x=x+1

caseb>="A".and.b<="Z"

m=m+1

caseb>="0".and.b<="9"

y=y+1

otherwise

z=z+1

endcase

next

?

"大写字母的个数为:

",x

?

"小写字母的个数为:

",m

?

"数字字符的个数为:

",y

?

"其他字符的个数为:

",z

cancel

2.

clear

accept"请输入一个字符串"toa

accept"请输入一个指定的字符"tob

x=0

fori=1tolen(a)

m=substr(a,i,1)

ifm=b

x=x+1

endif

next

?

"指定字符出现的个数为:

",x

cancel

3.

clear

accept"请输入一个单词字符串"toa

x=1

fori=1tolen(a)

b=substr(a,i,1)

ifb="".and.substr(a,i-1,1)!

=""

x=x+1

endif

next

?

"单词的个数为:

",x

cancel

字符串的删除

1.

clear

accept”请输入一个字符串”toa

s1=””

s2=””

fori=len(a)to1step-1

x=substr(a,i,1)

ifx=”*”

s1=s1+y

else

exit

endif

next

fori=1tolen(a)

y=substr(a,i,1)

ify!

=”*”

s2=s2+y

endif

next

?

”字符串为:

”s2+s1

cancel

2.

clear

accept“请输入一个字符串”toa

input“请输入一数“ton

k=0

m=len(a)

fori=mto1step-1

y=substr(a,i,1)

ify=”*”

k=k+1

else

exit

endif

next

ifn>=k

?

”结果为:

”,a

else

s=substr(a,1,m-k+n)

?

”结果为:

”,s

endif

cancel

3.

clear

accept"请输入一个字符串"toa

s=""

fori=1tolen(a)

b=substr(a,i,1)

ifasc(b)%2!

=0

s=s+b

endif

next

?

"删除后的字符串为:

",s

cancel

4.

clear

s=""

accept"请输入一个字符串"toa

accept"请输入一个指定的字符"tob

fori=1tolen(a)

x=substr(a,i,1)

ifx!

=b

s=s+x

endif

next

?

"删除指定字符后的字符串为:

",s

cancel

字符串的综合问题

1.

clear

accepttoa

s=””

n=len(a)

fori=1ton

y=substr(a,i,1)

ify>=”0”andy<=”9”

y=chr(105-asc(y))

s=s+y

else

s=s+y

endif

next

?

“结果为:

”,s

cancel

2.

clear

accept"请输入一个字符串"toa

s1=””

s2=””

fori=1tolen(a)

y=substr(a,i,1)

ify>="0".and.y<="9"

s1=s1+y

else

s2=s2+y

endif

next

?

”结果为:

”,s2+s1

cancel

3.

clear

accepttoa

n=len(a)

dimenb(n)

m=1

fori=nto1step-1

y=substr(a,i,1)

b(m)=y

m=m+1

next

fori=1ton

?

?

b(i)

next

cancel

4.

clear

accept"请输入一个字符串"toa

s=a

fori=len(a)to1step-1

b=substr(a,i,1)

s=s+b

next

?

"改变后的字符串为:

",s

cancel

六.数的整除运算

1.

clear

input"请输入一个两位数"toa

input"请输入一个两位数"tob

x=int(a/10)

y=a%10

m=int(b/10)

n=b%10

c=m*1000+y*100+n*10+x

?

"合并后的数为:

",c

cancel

2.

clear

x0=0

x1=cos(x0)

dowhileabs(x0-x1)>=10^-6

x0=x1

x1=cos(x0)

enddo

?

"方程的根为:

",x1

cancel

3.

clear

iputton

s=0

fori=1ton

ifi%5=0.or.i%9=0

s=s+1/i

endif

next

?

s

cancel

4.

clear

inputtom

k=abc(m)

dimena(k)

n=1

fori=1tom

ifi%7=0ori%11=0

a(n)=i

n=n+1

endif

next

fori=1tok

?

?

a(i)

next

cacel

fuctionabc(m)

x=0

fori=1tom

ifi%7=0ori%11=0

x=x+1

endif

next

returnx

endfuc

5.

clear

inputtoa

inputtob

inputtoc

m=abc(a,b,c)

docase

casem=3

?

"等边三角形"

casem=2

?

"等腰三角形"

Casem=1

?

"一般三角形"

Casem=0

?

“不能构成三角形”

Endcase

cancel

functionabc(a,b,c)

ifa+b>c.and.a+c>b.and.b+c>a

docase

casea=bandb=c

return3

case(a=bandc!

=a).or.(a=candb!

=c).or.(b=candb!

=a)

return2

casea!

=b.and.b!

=c.and.a!

=c

return1

endcase

else

return0

endif

endfunc

6.

clear

inputton

s=0

ifn<2.or.n>100

?

”请重新输入”

cancel

endif

fori=3ton

f=.t.

forj=2toi-1

ifi%j=0

f=.f.

endif

next

iff=.t.

s=s+sqrt(i)

endif

next

?

s

cancel

自定义

1.

clear

input"请输入一个数"tom

input"请输入一个数"ton

c=fuc(m)/(fuc(n)*fuc(m-n))

?

"该组合的值为:

",c

cancel

functionfuc(x)

s=1

fori=1tox

s=s*i

next

returns

endfunc

2.

clear

accept"请输入一个字符串"tos

accept"请输入一个指定的字符"toc

x=del(s,c)

?

"删除后的字符串为:

",x

cancel

functiondel(s,c)

k=""

fori=1tolen(s)

y=substr(s,i,1)

ify!

=c

k=k+y

endif

next

returnk

endfunc

3.

clear

c=fuc(3)/(fuc

(2)*fuc

(1))+fuc(5)/(fuc(3)*fuc

(2))

?

"该式子的值为:

",c

cancel

functionfuc(x)

s=1

fori=1tox

s=s*i

next

returns

endfunc

4.

clear

accept"请输入一个字符串"toa

b=daozhi(a)

?

"倒置后的字符串为:

",b

cancel

functiondaozhi(s)

k=""

fori=len(s)to1step-1

y=substr(s,i,1)

k=k+y

next

returnk

endfunc

全真模拟题程序答案

1.已知笼子中有兔子和鸡共36只,他们的脚总共有100只,编程计算出鸡和兔子各自有多少只。

clear

forx=1to36

fory=1to36

ifx+y=36.and.4*x+2*y=100

?

"兔子的只数为:

",x

?

"鸡的只数为:

",y

endif

next

next

cancel

2、编写程序,运行时接收用户键盘输入的一个长字符串,统计其中包含字母a的个数(不区分大小写),并在屏幕上输出统计结果

clear

accept"请输入一个字符串"toa

x=0

fori=1tolen(a)

m=substr(a,i,1)

ifm=”a”.or.m=”A”

x=x+1

endif

next

?

"指定字符出现的次数为:

",x

Cancel

3、编写程序,计算:

,直到最后一项小于

clear

input"请输入一个数"tox

k=1

s=1

i=1

dowhilex^i/s>=10^-6

k=k+x^i/s

i=i+1

s=s*i

enddo

?

"ex的值为:

",k

cancel

4、编写程序,从键盘上任意输入10个整数,将这10个数在屏幕上显示成一行,并在下一行显示其中最接近平均值的数。

clear

dimensiona(10)

s=0

fori=1to10

inputtoa(i)

next

fori=1to10

s=s+a(i)

next

ave=s/10

x=abs(ave-a

(1))

n=1

fori=2to10

ifabs(ave-a(i))

x=abs(ave-a(i))

n=i

endif

next

fori=1to10

?

?

a(i)

next

?

a(n)

Cancel

5、输入一个整数,编写程序判断该整数是几位数,例如,输入9872,则结果为4.。

clear

input"请输入一个整数"toa

n=0

dowhilea>0

a=int(a/10)

n=n+1

enddo

?

"该数为",n,"位数"

cancel

6、设计一个函数voiddelete(char*s,charc);函数delete将字符c从字符串s中删除。

例如:

假设有chars[10]=”acdf”;则执行delete(s,’d’)后s中内容为adf;

clear

accept"请输入一个字符串"tos

accept"请输入一个指定的字符"toc

x=del(s,c)

?

"删除后的字符串为:

",x

cancel

functiondel(s,c)

k=""

fori=1tolen(s)

y=substr(s,i,1)

ify!

=c

k=k+y

endif

next

returnk

endfunc

7、有5个英文单词,分别为:

Word,Excel,PowerPoint,Type,Angle,要求设计出如下程序:

(1)在键盘上输入n个数,(本例输入5),把英文单词放入名为X的数组中(5分);

(2)显示出X数组中的英文单词;(5分);

(3)对X数组中的英文单词从小到大排序;(10分)

(4)显示出排序后X数组中英文单词。

(5分)

clear

input"请输入字符串总个数"ton

s=""

dimensiona(n)

fori=1ton

accept"请依次输入字符串"toa(i)

next

fori=1ton

?

a(i)

next

?

"排序后的字符串为:

"

fori=1ton-1

forj=i+1ton

ifleft(a(i),1)>left(a(j),1)

t=a(i)

a(i)=a(j)

a(j)=t

endif

next

next

fori=1ton

?

a(i)

next

cancel

8、设计一个程序,要求是:

(1)、在键盘上输入一个不小于8的自然数n(例输入10),要求1到第n个自然数中奇数的个数,并输出结果;(10分)

(2)输出1到第n个自然数中所有质数之和。

(15分)

clear

input"请输入一个数"ton

s=0

k=0

ifn<8

?

"输入错误,请从新运行程序"

Cancel

endif

fori=1ton

ifi%2!

=0

k=k+1

next

fori=2ton

f=.t.

form=2toi-1

ifi%m=0

f=.f.

exit

endif

next

iff=.t.

s=s+i

endif

next

?

"奇数个数为:

",k

?

"素数之和为:

",s

Cancel

9、计算出1到100的立方根,将结果存于外存,其文件名字为“root.c”。

Settalkoff

Clear

fori=1to100

x=i^(1/3)

displaymemorylikex*tofileroot.c

next

ca

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

当前位置:首页 > 教学研究 > 教学反思汇报

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

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