回 帖 发 新 帖 刷新版面

主题:入门必做的题

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

541 楼


#include<iostream.h>
class object
{
public :
    object()
    {
        m_int = 0;
        next = NULL;
    }
    int m_int;
    object * next;
};
int main()
{
    object *head=NULL,*m_p=NULL;
    m_p=new object;
    head=m_p;
    m_p->m_int=1;
    int m_n;
    cin>>m_n;
    for(int i=2;i<=m_n;i++)
    {
        m_p->next=new object;
        m_p->next->m_int=i;
        m_p=m_p->next;
    }
    m_p->next=head;
    m_p=head;
    
    for(i=1;i<=m_n*m_n;i++)
    {
        cout<<"   "<<m_p->m_int;
        if(i%m_n==0)
        {
            cout<<endl<<endl;
            m_p=m_p->next;
        }
        m_p=m_p->next;
    }
    m_p=head;
    object *m_del=NULL;
    for(i=1;i<=m_n;i++)
    {
        m_del=m_p;
        m_p=m_p->next;
        if(m_del!=NULL)
            delete m_del;
        else
            break;
    }

    return 0;
}//Visual C++ 6.0
第四题答案

542 楼

ding 顶~~~~

543 楼

第二题的代码:
#include "stdafx.h"
#include <iostream.h>
int main()
{int a,b,c,d,e;
if(a==1)b=1;

if(b==1)c=0;
else c=1;
if(c==1)d=1;
else d=0;
if(d==0)e=1;
if(e==1){a=1;d=1;}
if(a==1)cout<<"a="<<a<<endl;
if(b==1)cout<<"b="<<b<<endl;
if(c==1)cout<<"c="<<c<<endl;
if(d==1)cout<<"d="<<d<<endl;
if(e==1)cout<<"e="<<e<<endl;
return 0;
}
初学请指点!

544 楼


545 楼

好的,我10天搞完它...
呵呵

546 楼

太强了

547 楼


#include<iostream.h>
#include<iomanip.h>
void exchange(int n,int m,int arr[])
{
    int temp=arr[n];
    arr[n]=arr[m];
    arr[m]=temp;
}
void Sort(int start,int n,int arr[])
{
    if(start==n-1)
    {
        int number1=10000*arr[0]+1000*arr[1]+100*arr[2]+10*arr[3]+arr[4];
        int number2=100*arr[3]+10*arr[5]+arr[6];
        int number4=10000*arr[7]+1000*arr[8]+100*arr[9]+10*arr[3]+arr[4];
        if(number1+2*number2==number4)
        {
            cout<<' '<<number1<<endl;
            cout<<' '<<setw(5)<<number2<<endl;
            cout<<"+  "<<number2<<endl;
            cout<<"-------"<<endl;
            cout<<' '<<number4<<endl;
            return;
        }
        else
            return;
    }
    for(int i=start;i<n;++i)
    {
        exchange(start,i,arr);
        Sort(start+1,n,arr);
        exchange(start,i,arr);
    }
}
void main()
{
    int arr[10]={0,1,2,3,4,5,6,7,8,9};
    Sort(0,10,arr);
}//VC++ 6.0
第一题代码

548 楼

#include<iostream.h>
void display(int start,int n,int arr[])
{
    for(int i=0;i<n;++i)
    {
        if(start==n)
            cout<<(start=1);
        else
            cout<<++start;
    }
    cout<<endl;
}
void main()
{
    int n;
    cin>>n;
    int* arr=new int[n];
    for(int i=0;i<n;++i)
        display(i,n,arr);
}//VC++ 6.0
第四题代码

初学者,有问题请大家指出啊!!!

549 楼


#include<iostream.h>
void main()
{
    int n;
    cin>>n;
    int** arr=new int*[n];
    for(int i=0;i<n;++i)
        arr[i]=new int[n];
    int num=(n+1)/2;
    for(int k=0;k<num;++k)
        for(i=k;i<n-k;++i)
            for(int j=k;j<n-k;++j)
            {
                if(k==0)
                    arr[i][j]='T';
                else if(k==1)
                    arr[i][j]='J';
                else
                    arr[i][j]=47+k;
            }
    for(i=0;i<n;++i)
    {
        for(int j=0;j<n;++j)
            cout<<(char)arr[i][j];
        cout<<endl;
    }
}//VC++ 6.0
第三题代码

550 楼

#include<iostream.h>
void main()
{
    for(int A=0;A<2;++A)
    for(int B=0;B<2;++B)
    for(int C=0;C<2;++C)
    for(int D=0;D<2;++D)
    for(int E=0;E<2;++E)
    {
        if(!(!A||B))
            break;
        if(!((B&&!C)||(!B&&C)))
            break;
        if(!((!C||D)||(C||!D)))
            break;
        if(!(D||E))
            break;
        if(!(!E||(A&&D)))
            break;
        if(A)
            cout<<"A ";
        if(B)
            cout<<"B ";
        if(C)
            cout<<"C ";
        if(D)
            cout<<"D ";
        if(E)
            cout<<"E ";
        return;
    }
}
第二题代码

我来回复

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