回 帖 发 新 帖 刷新版面

主题:入门必做的题

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

631 楼

好题

632 楼

做不出来 怎么没有给点提示的答案啊 不然没法进行下去啊??

633 楼

可是做不出来没有提示   就无法进行下去了啊??
第一题有谁可以指导我一下  万分感谢!!!

634 楼

/*入门必做题第48题,VC++6.0版本*/
#include <iostream>
using namespace std;
#define N 10
int used[N]={0};
int f(int i,int r,int y,int b)
{if (i==N)
{for(int j=0;j<N;j++)
    if(used[j]==0)
       cout<<"red"<<" ";
    else if (used[j]==1)
       cout<<"blue"<<" ";
    else
       cout<<"yellow"<<" ";
       cout<<endl;
       return 1;
}
 if (r>0)     
 {used[i]=0;
  f(i+1,r-1,y,b);
 }
 if (y>0)
 {used[i]=1;
  f(i+1,r,y-1,b);
 }
 if (b>0)
 {used[i]=1;
 f(i+1,r,y,b-1);
 }
}

void main()
{
    f(0,4,3,3); /*4个红球3个蓝球3个黄球排成一排的递归调用*/
}

635 楼

好贴,顶哈!

我来回复

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