主题:入门必做的题
GCC
[专家分:14380] 发布于 2006-04-14 11:53:00
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 楼
langxve [专家分:80] 发布于 2007-09-14 12:42:00
#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 楼
ddww123ddww [专家分:0] 发布于 2007-09-29 20:05:00
ding 顶~~~~
543 楼
zhaoxn04 [专家分:0] 发布于 2007-09-29 21:41:00
第二题的代码:
#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 楼
追随心去 [专家分:0] 发布于 2007-09-29 22:05:00
好
545 楼
oopos [专家分:0] 发布于 2007-10-08 11:47:00
好的,我10天搞完它...
呵呵
546 楼
oicqice [专家分:0] 发布于 2007-10-20 22:41:00
太强了
547 楼
sun3673181 [专家分:10] 发布于 2007-10-21 15:52:00
#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 楼
sun3673181 [专家分:10] 发布于 2007-10-21 16:06:00
#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 楼
sun3673181 [专家分:10] 发布于 2007-10-21 17:40:00
#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 楼
sun3673181 [专家分:10] 发布于 2007-10-21 18:02:00
#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;
}
}
第二题代码
我来回复