回 帖 发 新 帖 刷新版面

主题:入门必做的题

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

151 楼

第四题: 

#include <stdio.h>
#define N 4
int x[N][N];
int count=0;
void display();

int panduan(int m)
{
    int i;
    if (m/N>0) //如果垂直重复
    {
    
        for(i = 0;i<(m/N);i++)
        {
    
            if (x[i][m%N]==x[m/N][m%N])
            {
                   return 1;
            }
        }
    }
    if (m%N>0)//如果水平重复

    {
    
        for(i = 0;i<(m%N);i++)
        {
    
            if (x[m/N][i]==x[m/N][m%N])
            {
                   return 1;
            }
        }
    }
    

    return 0;

}
void jishuan(int m)
{
    for(x[m/N][m%N]=1;x[m/N][m%N]<=N;x[m/N][m%N]++)
    {
          if (panduan(m))    // 如果重复继续循环
        continue;
        if(m<N*N-1)
        {
            jishuan(m+1);
        }
        else
        {
            display();
        }

    }    
}
void display()
{
    int i;
    for(i=0;i<N*N;i++)
    {
        printf(" %d",x[i/N][i%N]);
        if (i%N==N-1)
        printf("\n");
    }
    printf("\n");
    count++;
}


void main()
{
    jishuan(0);
    printf("all is %d",count);
}

第五题
#include <stdio.h>
#define N 2
main()
{
    int out[100];
    int count=0;
    int i=1234;
    do 
    {
        out[count++]=i%N;
        i=i/N;       
    } while(i>0);
    
    do 
    {
        
        printf(" %d" , out[--count]);
    }while (count>0);
}

152 楼

做完这些题目才入门,那我干脆死了算了,没几个能入门的

153 楼

这些题要怎么做啊?太难了。能把算法给出来么?

154 楼

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

#include <iostream.h>
void main()
{
    char a[15][15];
    int i,j,n=12,g=2,f=49;
    for(i=0;i<15;i++)
        for(j=0;j<15;j++)
        {
            a[0][j]=a[14][j]='t';
            a[i][0]=a[i][14]='t';
        }
    for(i=1;i<14;i++)
        for(j=1;j<14;j++)
        {
            a[1][j]=a[13][j]='j';
            a[i][1]=a[i][13]='j';
        }
     while(g<13)
     {
         for(i=g;i<=n;i++)
              for(j=g;j<=n;j++)
             {
                 a[g][j]=a[n][j]=f;
                  a[i][g]=a[i][n]=f;
             }
            n--;
       f++;
       g++;
     }
         int k=0;
         for(i=0;i<15;i++)
             for(j=0;j<15;j++)
             {
                cout<<a[i][j]<<" ";
                
                k++;
                if(k==15)
                {
                    cout<<endl;
                    k=0;
                }
             }
}
看到第七题,目前只会做这个。
请问要想找到一个月薪3000元左右的工作,这些题要做多少才行?还是必须都会做啊?

155 楼


请问什麽是 算术计算竖式。???告訴我一下呗。[em18]

156 楼

看了才知道,自己连门都没入呀。努力呀。

157 楼


不知楼主可否行行好,给出这些题的答案,让我们这些菜鸟在做题的过程中可以参考一下
我是真的菜鸟啊,菜鸟被人欺呀。

158 楼

我怎么什么都看不懂??

159 楼

能否将你的程序给写上注释??
那将非常感谢!~!!

160 楼

不错,顶一下```

我来回复

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