回 帖 发 新 帖 刷新版面

主题:[讨论]紧急求助!

1、请编程生成一个按蛇形方式排列自然数1,2,3,4,5,……,N2的 (1<N≤15)N阶方阵。N从键盘输入。(24分)
例如输入:N=4                  
输出:1   3    4   10             
          2   5    9   11             
          6   8   12   15             
          7  13   14   16             

2、有2*N的一个长方形方格,用一个1*2的骨牌铺满方格。例如:N=3时,为2*3个方格。此时用1个1*2的骨牌铺满方格,共有3种铺法:


        
    
    



    
        
                    
请编程,当键盘输入任意一个N(0<N≤30),则输出共有多少种铺法。
如:输入为3,则输出为:共3种铺法。(24分)

3、编程实现:输入N(2≤N≤100)个数字(在0与9之间),然后统计出这组数中相邻两数字组成的数字对出现的次数。(24分)
例如输入:N=6  {表示要输入数的数目}
            1  2  1  2  3  2     
输    出:(1,2)=2        {指(1,2)数字对出现次数为2次}
           (2,1)=1 
           (2,3)=1    
 (3,2)=1

4、火车从始发站(称为第1站)开出,在始发站上车的人数为A;然后到达第2站,在第2站有人上、下车,但上、下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为A人。从第3站起(包括第3站)上、下车的人数有一定的规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第N-1站),都满足此规律。现给出的条件是:共有N个车站,始发站上车的人数为A,最后一站下车的人数是M(全部下车)。请编程求出从X站开出时车上的人数是多少?输入为:A,N,M和X(N,X均小于23);输出为:X站开出时车上的人数。(28分)  

回复列表 (共1个回复)

沙发

1.
CLS
INPUT "N=";N
DIM A(N,N)
I=1:J=1
FOR K=1 TO (1+N)*N\2
  A(I,J)=K
  IF J=1 THEN
    IF I MOD 2=1 THEN I=I+1 ELSE I=I-1:J=J+1
  ELSE
    IF I=1 THEN 
      IF J MOD 2=1 THEN J=J-1:I=I+1 ESLE  J=J+1
    ELSE
      IF (I+J) MOD 2=0 THEN I=I+1:J=J-1 ELSE I=I-1:J=J+1
    ENDIF
  ENDIF
NEXT K
IF N MOD 2=0 THEN I=1:J=N ELSE I=N:J=1
FOR K=(1+N)*N/2 TO N*N
  A(I,J)=K
  IF J=N THEN
    IF I MOD 2=1 THEN 
      IF N MOD 2=0 THEN I=I+1 ELSE I=I+1:J=J-1
    ELSE
       IF N MOD 2=1 THEN I=I+1 ELSE I=I+1:J=J-1
    ENDIF
  ELSE  
    IF I=N THEN 
      IF J MOD 2=1 THEN 
        IF N MOD 2=0 THEN I=I-1:J=J+1 ELSE J=J+1
      ELSE
        IF N MOD 2=0 THEN J=J+1 ELSE I=I-1:J=J+1
      ENDIF
    ELSE
      IF (I+J) MOD 2=1 THEN I=I-1:J=J+1 ESLE I=I+1:J=J-1
    ENDIF
  ENDIF 
NEXT K
FOR I=1 TO N
  FOR J=1 TO N
    ? USING"###";A(I,J);
  NEXT J 
  ?
NEXT I

我来回复

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