回 帖 发 新 帖 刷新版面

主题:有几道编程题做不来,各位大虾来救火

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个回复)

沙发

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);
我说楼主是不会做还是懒得做啊,不可以偷懒哦!

板凳

楼上的大哥真是帮了大忙啊[em5]
如果你闲30分不够,可以再发个帖,我再补20分.
我初学编程20天,不是偷懒,是有些不懂啊[em8]
其他大虾也来帮忙啊[em1]

3 楼

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 楼

第4题是什么呀?
图象没错么?
我觉得是这样的吧:
`4.打印下列图形:(键入N,控制图形行数,以下图形均为N=3)
****    ****                 +    +
****  ****                  ++  ++
********                   ++++++

edcba                        1
cba                        357
a                       91357

应该是找规律的题嘛.
[em6]

5 楼

不是找规律,是编程.[em11]

6 楼

同意2楼的,所以我再顶一下,给我加分吧!

7 楼

楼主,第4题还是弄不清你想问什么呀!

8 楼

第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 楼

第四题就是编程打印出4个图形啊[em14]

10 楼

第4题图形打错了,现在已修改好,大家发扬长征精神,继续回帖[em11][em11][em11]

我来回复

您尚未登录,请登录后再回复。点此登录或注册