主题:有几道编程题做不来,各位大虾来救火
chenzhong
[专家分:250] 发布于 2005-08-27 18:38:00
1.读一组整数,用0作为终止符号,打印其中正,负的个数及的序号.
2.选票统计,有A,B,C,D四位候选人,N位投票人.统计时,A,B,C,D以外的字符为弃权,按得票多少打印出候选人代号及得票数.
3.三齐王点兵的故事,相传三齐王韩信才智过人,从不直接点数自己的军队.只是让士兵以3人1排,5人1排,7人1排地变换队形,而他只要看一眼队伍的排尾就知道总人数了(不超过100人).
4.打印下列图形:(键入N,控制图形行数,以下图形均为N=3)
**** **** + +
**** **** ++ ++
******** ++++++
edcba 1
cba 357
a 91357
5.求两个自然数的最大公约数和最小公倍数.
答对+++++30
回复列表 (共24个回复)
沙发
lzl1403 [专家分:1670] 发布于 2005-08-25 21:59:00
1、一边读入一边统计,当读入0时输出,结束程序
readln(n);
a:=0;b:=0;
while n<>0 do
begin
if n>0 then inc(a)
else inc(b);
readln(n);
end;
writeln(a,' ',b);
2、一边读入一边统计,全部读完后再排序输出
readln(n);
s:='ABCD';
fillchar(a,sizeof(a),0);
for i:=1 to n do
begin
readln(ch);
case ch of
s[1]:inc(a[1]);
s[2]:inc(a[2]);
s[3]:inc(a[3]);
s[4]:inc(a[4]);
end;
end;
for i:=1 to 3 do
for j:=i+1 to 4 do
if a[i]<a[j]
then begin
k:=a[i];
a[i]:=a[j];
a[j]:=k;
ch:=s[i];
s[i]:=s[j];
s[j]:=ch;
end;
for i:=1 to 4 do
writeln(s[i],':',a[i]);
3、穷举0-100的数,分别mod 3、mod 5、mod 7,看看是否符合,若符合则输出
readln(a,b,c);
for i:=0 to 100 do
begin
if i mod 3=a then
if i mod 5=b then
if i mod 7=c then
begin writeln(i);halt;end;
end;
4、不明白题意
5、辗转相除法求最大公约数:
readln(a,b);
i:=a;j:=b;
if i>j then begin i:=b;j:=a;end;
while i<>0 do
begin
k:=j mod i;
j:=i;i:=k;
end;
writeln(j);
writeln(a*b div j);
我说楼主是不会做还是懒得做啊,不可以偷懒哦!
板凳
chenzhong [专家分:250] 发布于 2005-08-25 23:17:00
楼上的大哥真是帮了大忙啊[em5]
如果你闲30分不够,可以再发个帖,我再补20分.
我初学编程20天,不是偷懒,是有些不懂啊[em8]
其他大虾也来帮忙啊[em1]
3 楼
zhsas [专家分:1680] 发布于 2005-08-26 01:14:00
5.求两个自然数的最大公约数和最小公倍数.
program zhs (input,output);
var
m,n,lcm,gcd:integer;
begin
read(m,n);
writeln('m=',m,'':5,'n=',n);
lcm:=m*n;
repeat
gcd:=m mod n;
m:=n;
n:=gcd
until n=0;
lcm:=lcm div m;
writeln('gcd=',m,'':5,'lcm=',lcm)
end.
4 楼
mythjoker [专家分:400] 发布于 2005-08-26 18:07:00
第4题是什么呀?
图象没错么?
我觉得是这样的吧:
`4.打印下列图形:(键入N,控制图形行数,以下图形均为N=3)
**** **** + +
**** **** ++ ++
******** ++++++
edcba 1
cba 357
a 91357
应该是找规律的题嘛.
[em6]
5 楼
chenzhong [专家分:250] 发布于 2005-08-26 18:44:00
不是找规律,是编程.[em11]
6 楼
lzl1403 [专家分:1670] 发布于 2005-08-26 21:57:00
同意2楼的,所以我再顶一下,给我加分吧!
7 楼
lzl1403 [专家分:1670] 发布于 2005-08-26 22:28:00
楼主,第4题还是弄不清你想问什么呀!
8 楼
QQ331373582 [专家分:1500] 发布于 2005-08-27 11:52:00
第5T
var a,b,c,d,e:integer;
begin
readln(a,b);
if(a>b)then c:=b else c:=a;
c:=c-1;
repeat
c:=c+1;
until
(a mod c=0)and(b mod c=0)
if(a>b)then d:=a else d:=b;
e:=0;
repeeat
e:=e+1;
d:=*e;
until
(d mod a=0)and(d mod a=0)
writeln(c,' ',d);
end.
9 楼
chenzhong [专家分:250] 发布于 2005-08-27 18:37:00
第四题就是编程打印出4个图形啊[em14]
10 楼
chenzhong [专家分:250] 发布于 2005-08-27 18:44:00
第4题图形打错了,现在已修改好,大家发扬长征精神,继续回帖[em11][em11][em11]
我来回复