回 帖 发 新 帖 刷新版面

主题:入门必做的题

1.  给定等式  A B C D E     其中每个字母代表一个数字,且不同数字对应不
                    D F G     同字母。编程求出这些数字并且打出这个数字的
             +      D F G     算术计算竖式。

             ───────

                X Y Z D E



  2. A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些
  人参加了竞赛:

   (1)A参加时,B也参加;

   (2)B和C只有一个人参加;

   (3)C和D或者都参加,或者都不参加;

   (4)D和E中至少有一个人参加;

   (5)如果E参加,那么A和D也都参加。



  3. 打印一个 N*N 的方阵,N为每边           N=15  打印出下面图形
 字符的个数(3<N<20), 要求最               TTTTTTTTTTTTTTT
 外一层为"T", 第二层为"J", 从第三层               TJJJJJJJJJJJJJT
 起每层依次打印数字 1,2,3,...                     TJ11111111111JT
 (右图以N为15为例)                           TJ12222222221JT
                                                  TJ12333333321JT
                                                  TJ12344444321JT
                                                  TJ12345554321JT
                                                  TJ12345654321JT
                                                  TJ12345554321JT
                                                  TJ12344444321JT
                                                  TJ12333333321JT
                                                  TJ12222222221JT
                                                  TJ11111111111JT
                                                  TJJJJJJJJJJJJJT
                                                  TTTTTTTTTTTTTTT



  4. 在N行N列的数阵中, 数K(1〈=K〈=N)在每行和每列中出现且仅
  出现一次,这样的数阵叫N阶拉丁方阵。例如下图就是一个五阶拉丁方阵。
  编一程序,从键盘输入N值后,打印出所有不同的N阶拉丁方阵,并统计个数。

        1  2  3  4  5
        2  3  4  5  1
        3  4  5  1  2
        4  5  1  2  3
        5  1  2  3  4


  5. 输入一个十进数,将其转换成 N 进制数(0<N<=16)。

回复列表 (共635个回复)

211 楼

暂停若干日,学习数学

212 楼

第一题 by leolhc
tc测试通过

void main()
{
  int A,B,C,D,E,F,G,L1,L2,L3,X,Y,Z;
  long int i,j,k;
  for (i=10000;i<=99999;i++)
  {
    A=i/10000;B=(i-A*10000)/1000;C=(i-A*10000-B*1000)/100;
    D=(i-A*10000-B*1000-C*100)/10;
    E=i-A*10000-B*1000-C*100-D*10;
    if ((A==B)||(A==C)||(A==D)||(A==E)||
        (B==C)||(B==D)||(B==E)||
        (C==D)||(C==E)||
        (D==E))
      continue;
    for (j=100;j<=999;j++)
    {
      L1=j/100;F=(j-L1*100)/10;G=j-L1*100-F*10;
      if ((A==F)||(A==G)||(B==F)||(B==G)||
          (C==F)||(C==G)||(D==F)||(D==G)||
          (E==F)||(E==G)||(F==G)||(L1!=D))
        continue;
      k=i+2*j;
      X=k/10000;Y=(k-X*10000)/1000;
      Z=(k-X*10000-Y*1000)/100;
      L2=(k-X*10000-Y*1000-Z*100)/10;
      L3=k-X*10000-Y*1000-Z*100-L2*10;
      if ((A==X)||(A==Y)||(A==Z)||
          (B==X)||(B==Y)||(B==Z)||
          (C==X)||(C==Y)||(C==Z)||
          (D==X)||(D==Y)||(D==Z)||
          (E==X)||(E==Y)||(E==Z)||
          (F==X)||(F==Y)||(F==Z)||
          (G==X)||(G==Y)||(G==Z)||
          (X==Y)||(X==Z)||(Y==Z)||
          (L2!=D)||(L3!=E))
        continue;
      printf("%3d%d%d%d%d\n",A,B,C,D,E);
      printf("%5d%d%d\n",D,F,G);
      printf("+%4d%d%d\n",D,F,G);
      printf("%3d%d%d%d%d\n",X,Y,Z,D,E);
      printf("\n");
    }
  }
  getch();
}


第二题 by leolhc
tc测试通过
main()
{
  int a,b,c,d,e;
  for (a=0;a<=1;a++)
    for (b=0;b<=1;b++)
      for (c=0;c<=1;c++)
        for (d=0;d<=1;d++)
          for (e=0;e<=1;e++)
            if ((!a||b)&&((b&&!c)||(!b&&c))&&((c&&d)||(!c&&!d))&&(d||e)&&(!e||(a&&d)))
                printf("%d%d%d%d%d\n",a,b,c,d,e);
  getch();
}
注:if 中的判断条件用离散数学逻辑推理知识得到。

213 楼

^O^

214 楼

经典,都可以拿来当考试用的了

215 楼


第61题答案有没有啊?
[em18]

216 楼

怎么不能回复?

217 楼

全是一本 1948 年出版的 BASIC 语言教程 上的题! 呵呵!

218 楼

楼主给这么多题目
有没有答案可供参考啊
有好些题目还是很难的

219 楼

看起来挺难的,我也得先修炼几个月再说啊

220 楼

哦,太好了,有这么多东西可以练手不错啊

我来回复

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