回 帖 发 新 帖 刷新版面

主题:入门必做的题

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

531 楼

我是新手啊,觉得入门很难,我喜欢作题目,这样自己的思维才能动起来

532 楼

谢谢楼主了!!!
希望继续发好贴!!!

533 楼

这么强,服了.

534 楼


"toj"是什么啊?小弟很菜,希望赐教。

535 楼

[quote]if(
                ((b*10000 + c*1000 + d*100 + e*10 + d*100 + f*10 + g + d*100 + f*10 + g) == (x*10000 + y * 1000 + z*100 + d*10+e)) &&
                (a!=b)&&
                (a!=c)&&
                (a!=d)&&
                (a!=e)&&
                (a!=f)&&
                (a!=g)&&
                (a!=x)&&
                (a!=y)&&
                (a!=z)&&

                (b!=c)&&
                (b!=d)&&
                (b!=e)&&
                (b!=f)&&
                (b!=g)&&
                (b!=x)&&
                (b!=y)&&
                (b!=z)&&

                (c!=d)&&
                (c!=e)&&
                (c!=f)&&
                (c!=g)&&
                (c!=x)&&
                (c!=y)&&
                (c!=z)&&

                (d!=e)&&
                (d!=f)&&
                (d!=g)&&
                (d!=x)&&
                (d!=y)&&
                (d!=z)&&

                (e!=f)&&
                (e!=g)&&
                (e!=x)&&
                (e!=y)&&
                (e!=z)&&

                (f!=g)&&
                (f!=x)&&
                (f!=y)&&
                (f!=z)&&

                (g!=x)&&
                (g!=y)&&
                (g!=z)&&

                (x!=y)&&
                (x!=z)&&

                (y!=z)
                )
        {
        cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e
        <<" "<<f<<" "<<g<<" "<<
        x<<" "<<y<<" "<<z<<endl;

        outfile<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e
        <<" "<<f<<" "<<g<<" "<<
        x<<" "<<y<<" "<<z<<endl;
        }
else
continue;
        }
        }
        }
        }
        }
        }
        }
        }
        }
        }
        outfile.close();
        cout<<"Press enter to end the programm!!!"<<endl;
        getchar();
        return 0;
}[/quote]

考率下时间和空间效率,我写的代码基本上和你的差不多...但是强大的内存还是不支持,半天还没有算出结果来,郁闷半天

536 楼

no.3

#include<iostream.h>
const int n=15;
void main()
{
    int a[n][n];
    int    m=(int)(n/2);
    int i,j,k;
    if(n>4)
    {
        a[m][m]=m-1;
        for(i=1;i<=m;i++) //往外推的圈数
            for(k=0;k<n;k++)
            {    
                {  
                    if(i==m)
                    {
                        a[m-i][k]=int('T');
                        a[m+i][k]=int('T');
                        a[k][m-i]=int('T');
                        a[k][m+i]=int('T');
                        
                    }
                    if(i==m-1)
                    {
                        a[m-i][k]=int('j');
                        a[m+i][k]=int('j');
                        a[k][m-i]=int('j');
                        a[k][m+i]=int('j');
                    }
                    if(i<m-1)
                    {
                        a[m-i][k]=m-i;
                        a[m+i][k]=m-i;
                        a[k][m-i]=m-i;
                        a[k][m+i]=m-i;
                    }
                }
            }
        
    }
    if(n==3)
    {   for(i=0;i<3;i++)
          for(j=0;j<3;j++)
              a[j][i]=int('T');
           a[1][1]=int('j');
    }
    if(n==4)
    {
         for(i=0;i<3;i++)
          for(j=0;j<3;j++)
              a[j][i]=int('T');
          a[1][1]=a[1][2]=a[2][1]=a[2][2]=int('j');

    }
    
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
        {
            //if(((i==0)&&(i==n-1))&&((j==0)||(j==n-1)))
            if((i==0)||(i==n-1)||(j==0)||(j==n-1))
            {
                cout<<(char)a[i][j];
            }
            else if((i==1)||(i==n-2)||(j==1)||(j==n-2))
            {
                cout<<(char)a[i][j];
            }
            else cout<<a[i][j];
        if((j%(n-1))==0&&j>0)
                cout<<endl;
        }
        cout<<endl;
}

537 楼


有没有答案啊
前辈!!1

538 楼

#include<stdio.h>/*when n=10*/

main()
{
char nn[10][10];
int i,j;
for(i=0;i<=9;i++)
{

  for(j=0;j<=9;j++)
  {
   nn[i][j]='T';
   if(i>0&&i<9&&j>0&&j<9)nn[i][j]='J';
    if(i>1&&i<8&&j>1&&j<8)nn[i][j]='1';
     if(i>2&&i<7&&j>2&&j<7)nn[i][j]='2';
      if(i>3&&i<6&&j>3&&j<6)nn[i][j]='3';
   printf("%c",nn[i][j]);
  }
   printf("\n");
}
getch();
}

第3题的答案

539 楼

题目非常不错//...

540 楼

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
    int i,n,j,t;
    printf("please input a number:\n");
    scanf("%d",&n);
    long m=clock();//开始计时
    for(i=0;i<n;i++)
    printf("%-2c",'T');
    printf("\n");
    for(i=0;i<n;i++)
    {
                    if(i==1||i==n-2)
                    printf("%-2c",'J');
                    else printf("%-2c",'T');
    }
    printf("\n");
   for(i=1;i<=(n-3)/2;i++)
   {
             printf("%-2c%-2c",'T','J');
             for(j=1,t=i;j<=n-4;j++)
             {
                               if(j>=i&&n-4-i>=j)
                               printf("%-2d",i);
                               else
                               if(j>n-4-i)
                               {
                                         for(t;t>0;t--)
                                          printf("%-2d",t);
                                          }
                               else
                               printf("%-2d",j);
                               
                               }
                               
             printf("%-2c%-2c",'J','T');        
   printf("\n");
   }
  for(i=(n-3)/2-1;i>0;i--)
   {
             printf("%-2c%-2c",'T','J');
             for(j=1,t=i;j<=n-4;j++)
             {
                               if(j>=i&&n-4-i>=j)
                               printf("%-2d",i);
                               else
                               if(j>n-4-i)
                               {
                                         for(t;t>0;t--)
                                          printf("%-2d",t);
                                          }
                               else
                               printf("%-2d",j);
                               
                               }
                               
             printf("%-2c%-2c",'J','T');        
   printf("\n");
   }
    for(i=0;i<n;i++)
    {
                    if(i==1||i==n-2)
                    printf("%-2c",'J');
                   else printf("%-2c",'T');
    }
     printf("\n");
     for(i=0;i<n;i++)
    printf("%-2c",'T');
    m=clock()-m;//结束计时
 
    printf("\nTime = %d ms\n",m);//输出用时
    printf("\n");
    
    system("pause");
}//编译器Dev-C++4.9.9.2
第三题答案

我来回复

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