主题:入门必做的题
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个回复)
551 楼
zhangyang_8591 [专家分:0] 发布于 2007-10-24 13:10:00
各位前辈,这些题有答案么,我是个新手,有些还很迷惑,在哪能有答案呢
谢谢各位前辈
552 楼
hehu78 [专家分:0] 发布于 2007-11-07 23:39:00
[em3]
553 楼
BlueGuitar [专家分:0] 发布于 2007-11-08 04:49:00
我是初学的.这些看起来就是没希望....
不过还是得努力啊
554 楼
hongjie0505 [专家分:0] 发布于 2007-11-13 17:55:00
真是精品啊 顶
555 楼
钓猫的鱼 [专家分:0] 发布于 2007-11-19 21:09:00
#include<stdio.h>
main()
{ int m,n;
int a1,c1,d1,e1,x1;
int b[6]={2,3,4,6,7,8};
for(a1=5;a1>=0;a1--)
{m=b[a1];b[a1]=b[5];b[5]=m;
for(c1=4;c1>=0;c1--)
{m=b[c1];b[c1]=b[4];b[4]=m;
for(d1=3;d1>=0;d1--)
{m=b[d1];b[d1]=b[3];b[3]=m;
for(e1=2;e1>=0;e1--)
{m=b[e1];b[e1]=b[2];b[2]=m;
for(x1=1;x1>=0;x1--)
{m=b[x1];b[x1]=b[1];b[1]=m;
if(b[1]==b[5]+1 && 2*b[3]+b[4]+1==20+b[0])
{printf("a=%d,b=9,c=%d,d=%d,e=%d,f=5,g=0,x=%d,y=1,z=%d\n",b[5],b[4],b[3],b[2],b[1],b[0]);
}
}}}}}}
可以从题中推出:f=5,g=0,b=9,y=1 a+1=x,2*d+c+1=20+z
b[6]={z,x,e,d,c,a}
网上还有种暴力矩阵破解的,很强!
556 楼
钓猫的鱼 [专家分:0] 发布于 2007-11-19 21:24:00
第三题:
#include<stdio.h>
int set(int a,int b);
void print(int a);
int N;
main()
{ int a[20][20];
int i,j;
printf("please input N(3<N<20) :\n");
scanf("%d",&N);
if(3<N<20){}
else{printf("N out of limit!\n");}
for(i=0;i<N;i++)
{ for(j=0;j<N;j++)
{ a[i][j]=set(i,j);
print(a[i][j]);
}
printf("\n");
}
}
int set(int a,int b)
{ int b1[4];
int k,m,c,d;
c=N-a-1;
d=N-b-1;
b1[0]=a;b1[1]=b;b1[2]=c;b1[3]=d;
for(k=0;k<3;k++)
{ if(b1[k]<b1[k+1])
{ m=b1[k];b1[k]=b1[k+1];b1[k+1]=m;}
}
return(b1[3]);
}
void print(int a)
{
switch(a)
{ case 0:printf("T");break;
case 1:printf("J");break;
case 2:printf("1");break;
case 3:printf("2");break;
case 4:printf("3");break;
case 5:printf("4");break;
case 6:printf("5");break;
case 7:printf("6");break;
case 8:printf("7");break;
case 9:printf("8");break;
}
}
注:N只能是3到20之间的数,解法关键就在于矩阵数组某元素距四个边界的最小距离,即为此元素的轮数.
557 楼
chuanshizhishui [专家分:0] 发布于 2007-11-19 22:05:00
很美的题目
感觉作为的入门的话,有点打击人[em2][em2]
558 楼
liang2142003 [专家分:0] 发布于 2007-11-20 21:14:00
好久都没有静下心来做这样的题了,刚才挑了两道做一下,好吃力.呵呵!
559 楼
钓猫的鱼 [专家分:0] 发布于 2007-11-22 16:41:00
[em10]
第四题想了一天貌似做出来了,辛苦..ing
三维矩阵打印出12个,四维矩阵打印出256个,五维的好像越界了(输个5进去就没反应了),代码N长, 都不好意贴出来了...
哪位兄弟开动脑袋把这题做出来呀! 实在是好想知道答案.ing...
[em1][em1][em1][em1][em1]
560 楼
钓猫的鱼 [专家分:0] 发布于 2007-11-22 17:22:00
[em1]4阶矩阵有576个,打错...
我来回复