haihongyuan.com
海量文库 文档专家
全站搜索:
您现在的位置:首页 > 初中教育 > 学科竞赛学科竞赛

循环选择结构综合应用题

发布时间:2013-11-01 08:07:04  

一、循环结构

1、最大公约数和最小公倍数 【题目描述】

输入两个整数,求出它们的最大公约数和最小公倍数。

program kkk; var

a,b,c,max,min,t:integer; begin

read(a,b);

if a>b then t:=a; a:=b; b:=t; c:=a; repeat dec(c);

if b mod c=0 j:=m;k:=n; i:=m mod n; while i<>0 do begin

m:=n;n:=i;i:=m mod n; l:=j*k/n;

writeln(n,' ',l:0:0); end; readln; end.

then max:=c; until c=1;

min:=a*b mod c; writeln('the max is':,max); writeln('the min is':,min); readln; end. readln; end.

计算年龄

【题目描述】

小红今年12岁,她父亲比她大20岁,编一程序,计算出她的父亲在几年后比她年龄大一倍。那时他们的年龄各为多少?

program jisuannianling;

var x,y,n:integer; begin

x:=12;y:=x+20;n:=0; repeat

x:=x+1;y:=y+1;n:=n+1; until 2*x=y; write(x,y,n); end.

汽车时速计算

【题目描述】

一辆以固定速度行驶的汽车,清晨司机看到里程表上从左到右的读数和从右到左的读数是相同的,这个数是95859,7小时后,里程表上又出现一个新的对称数。问此车的时速是多少(是一整数)?这个新的对称数是

什么?设里程表为5位数字。

钞票兑换

【题目描述】

要将一张100元的大钞票,换成等值的10元、5元、2元、1元一张的小钞票,要求每次换成40张小票,每种至少一张。编程输出所有可能的换法,程序应当考虑减少重复的次数,输出每要求每种可能的换法占一行,每张面值之间用空格隔开。 例如: 5 5 5 5

program chaopiaoduihuan; var a,b,c,d:integer; begin

for a:=1 to 7 do

for b:=1 to 17 do for c:=1 to 37 do begin

d:=40-a-b-c;

if a*10+b*5+c*2+d=100 then

writeln(a,’ ‘,b,’ ‘,c,’ ‘,d);

end; end.

分糖

【题目描述】

一堆糖分给一群小孩,每人二粒则多一粒,每人三粒则多了二粒,每人四粒则多了三粒,每人五粒则正好分完。问:这堆糖至少有几粒?

Program fentang; Var n:integer; Begin N:=0; Repeat

N:=n+1;

Until (n mod 2=1) and (n mod 3=2) and (n mod 4=3) and (n mod5=0); Write(n); End.

二、数组

1、求素数

【题目描述】

求出2~100之间的所有素数,输出时每个数用空格隔开。

program 求素数; var

s,d:set of 2..100; i,j:2..100; begin

s:=[2..100]; d:=[]; i:=2; repeat

if i in s then begin d:=d+[i];

for j:=i to 100 do

if j mod i=0 then s:=s-[j]; end; i:=i+1; until s=[];

for i:=2 to 100 do if i in d then write(i,' '); readln end.

奖学金认定

【题目描述】

某校一等奖学金认定办法如下: ⑴所考五门课成绩总分超过450分; ⑵每门课都在88分以上;

⑶前3门课(主课)每门成绩都在95以上,其他2门(非主课)每门成绩在80分以上。

凡满足上面任意一个条件都可认定为一等奖学金。

键盘输入某学生的5门课成绩,判定他是否能获得一等奖学金,如能输出‘Y’,否则输出‘N’。

成绩评定2

【题目描述】

依次输入10个学生的成绩,计算每个学生的成绩与平均成绩的差,并由此给出每个学生成绩的字母等级。如果成绩高于平均成绩10分以上为A

等,与平均成绩相差在10分以内为B等,其余为C等。最后输出每个学生的编号,成绩和字母等级,每个学生占一行。

聪明的猪

【题目描述】

某屠宰场杀猪有一习惯,把每天要杀的n头猪按顺序排成一排,将排

在单号位置的猪杀掉;然后把剩下的猪按上一次相对的位置排好,重新编号后再将排在单号位置的猪杀掉,重复前面的过程,直到剩下一头猪时停止杀猪,将这头猪放回,等待明天再杀。有一头聪明的猪摸准了这个规律,事先找好位置,使得它每天都不会被杀。求当总共有n头猪时,这个聪明的猪应该站在什么位置?(n由键盘输入)

【解题指导】

采用数组存储猪的编号,即初始时利用循环语句令a[i]=i,接下来开始模拟杀猪过程,每次杀猪时,奇数位置的猪都被杀掉,偶数位置的猪重新编号,可以令a[i]=a[i]*2表示偶数的猪重新编号的情况,一次杀猪过程完后,猪的数量应该只剩n\2头了,以这n\2头猪为新的n重新杀猪,如此下去,直到n=1就表示只剩最后一头猪了。

网站首页网站地图 站长统计
All rights reserved Powered by 海文库
copyright ©right 2010-2011。
文档资料库内容来自网络,如有侵犯请联系客服。zhit326@126.com