主题:入门必做的题
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个回复)
301 楼
skyjiong [专家分:60] 发布于 2006-08-21 23:45:00
second:
#include <iostream>
using namespace std;
int main(){
int A,B,C,D,E;
for(A=0;A<2;A++)
for(B=0;B<2;B++)
for(C=0;C<2;C++)
for(D=0;D<2;D++)
for(E=0;E<2;E++)
if((A&&B)||(!A)) //A参加时,B也参加;
if((C&&D)||(!C&&!D)) //C和D或者都参加,或者都不参加;
if(!(!D&&!E)) //D和E中至少有一个人参加;
if((E&&A&&D)||(!E)) //如果E参加,那么A和D也都参加。
if((!B&&C)||(!C&&B)) //B和C只有一个人参加;
{
if(A)
cout<<"A参加"<<endl;
if(B)
cout<<"B参加"<<endl;
if(C)
cout<<"C参加"<<endl;
if(D)
cout<<"D参加"<<endl;
if(E)
cout<<"E参加"<<endl;
}
}
302 楼
jingxing [专家分:0] 发布于 2006-08-22 20:31:00
我想问哈。那里有C的下载。我买个盗版的。按不上。网上那有免费下载啊
哈哈~~支持
303 楼
skyjiong [专家分:60] 发布于 2006-08-22 22:51:00
third:
#include <iostream>
#include <string>
using namespace std;
int main(){
int n;
while(cin>>n)
{
cout<<string(n,'T')<<endl
<<'T'<<string(n-2,'J')<<'T'<<endl;
int sign,N=n-4;
for(int i=0;i<N;i++)
{
cout<<"TJ";
if(i<=N/2)
sign=i;
else
sign=N-i-1;
for(int j=0;j<sign;j++)
cout<<j+1;
cout<<string(N-2*sign,sign+49);
for(int g=sign;g>0;g--)
cout<<g;
cout<<"JT";
cout<<endl;
}
cout<<'T'<<string(n-2,'J')<<'T'<<endl
<<string(n,'T')<<endl;
}
}
304 楼
zlgqx [专家分:0] 发布于 2006-08-29 10:08:00
你好,有没有答案呀?
305 楼
nihaozhuyahui [专家分:20] 发布于 2006-08-29 21:36:00
楼主贡献不小,表扬,谢谢
306 楼
tgbtgb [专家分:490] 发布于 2006-08-31 15:25:00
NO.5
进制转换:
#include"malloc.h"
#include"stdio.h"
#define MAX 225
typedef struct
{int q[MAX];
int top;
}list;
void creat(list *p)
{if(!p)
printf("错误!\n");
p->top=-1;
}
int into(list *j, int x)
{if(j->top<MAX-1)
{j->top=j->top+1;
j->q[j->top]=x;}
else
printf("溢出。\n");
}
int put(list *r)
{int x;
if(r->top!=-1)
{x=r->q[r->top];
r->top=r->top-1;
return(x);
}
else
return(-1);
}
int yunshu(int m)
{int s,h,n,k,y,num;
if(m!=0)
{list *p;
p=(list *)malloc(sizeof(list));
creat(p);
printf("请输入要转换的数:\n");
scanf("%d",&s);
do
{n=s;
s=s/m;
k=n%m;
into(p,k);
}while(s);
printf("10->%d进制数为:\n",m);
printf("\n");
do
{
y=put(p);
if(y>9)
printf("%c",y+87);
else if(y==-1)
break;
else
printf("%c",y+48);
}
while(y!=-1);
}
else
{printf("请输入从10进制转换为B进制:\n");
scanf("%d",&num);
yunshu(num);
}
}
main()
{ int i;
int fage;
fage=1;
do{printf("\n");
printf("\t******主菜单******\n");
printf("\t==================\n");
printf("\t1-----------10->16\n");
printf("\t2-----------10->8\n");
printf("\t3-----------10->2\n");
printf("\t4-----------其他转换.\n");
printf("\t0-----------finish.\n");
printf("\t===================\n");
printf("请选择:\n");
scanf("%d",&i);
switch(i)
{case 0:fage=0;break;
case 1:yunshu(16);break;
case 2:yunshu(8);break;
case 3:yunshu(2);break;
case 4:yunshu(0);break;
default:printf("选择错误。请重新选择。\n");
}
}while(fage);
}
307 楼
327771227 [专家分:10] 发布于 2006-08-31 15:40:00
好复杂啊
308 楼
jiangwenfeng [专家分:0] 发布于 2006-09-01 19:18:00
我是个初学者,看到这些难题有点头晕
309 楼
xuxf055 [专家分:20] 发布于 2006-09-05 13:53:00
The first one:
answer:
A B C D E F G X Y Z
0 3 9 7 6 5 8 4 1 2
1 4 8 9 2 3 6 5 0 7
5 7 9 4 2 6 1 8 0 3
6 3 9 7 0 8 5 4 1 2
Code:
#include<iostream.h>
#include<fstream.h>
#include<conio.h>
#include<stdio.h>
#include <stdio.h>
int main()
{
ofstream outfile("result.dat");
int a, b, c, d, e, f, g, x, y, z;
for(int a = 0; a<10; a++)
{
for(int b = 0; b<10; b++)
{
for(int c = 0; c<10; c++)
{
for(int d = 0; d<10; d++)
{
for(int e = 0; e<10; e++)
{
for(int f = 0; f<10; f++)
{
for(int g = 0; g<10; g++)
{
for(int x = 0; x<10; x++)
{
for(int y = 0; y<10; y++)
{
for(int z = 0; z<10; z++)
{
310 楼
xuxf055 [专家分:20] 发布于 2006-09-05 13:53:00
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;
}
我来回复