主题:入门必做的题
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个回复)
321 楼
hutian280 [专家分:240] 发布于 2006-09-25 19:38:00
不同意给出答案,题目有了我已经很感谢了,踏踏实实的去做就对了!要什么答案,答案不会是统一的.只要可以尽可能完美的实现要求的程序功能,避免错误(包括警告),就行了...
322 楼
ybf1209 [专家分:120] 发布于 2006-09-26 01:02:00
请问哪里有答案啊
323 楼
梦的天堂 [专家分:0] 发布于 2006-09-26 07:38:00
我菜鸟,一个都不会,哈哈
324 楼
mintelong [专家分:40] 发布于 2006-09-26 22:08:00
刚进,飘过!~
学习中^^^
325 楼
newboy264 [专家分:0] 发布于 2006-09-30 09:29:00
楼主能不能把答案给我门 啊
我门不会做 还能做做参考 啊
谢谢
326 楼
nightvista [专家分:0] 发布于 2006-10-03 13:18:00
原来高中的时候参加NOIp培训的时候的题目!
有一些可是经典的难题啊。不错不错。
327 楼
CYNTHIA [专家分:150] 发布于 2006-10-08 22:55:00
我觉得这些题目真的很不错,可是大家写的都是代码,看起来很费事的。为什么不写算发呢?尽量用自然语言。这样大家讨论起来会很方便的,而且不同的语言之间也可以相互交流呀.
328 楼
chenhuips2 [专家分:10] 发布于 2006-10-10 20:32:00
这是我做的第二题
#include<iostream.h>
#include<math.h>
int main()
{ int a,b,c,d,e; //1表示参加,0为不参加
int i;
for(i=0;i<32;i++)
{ a=i/16;
b=i%16/8;
c=i%8/4;
d=i%4/2;
e=i%2;
if((!a||b)&&fabs(b-c)&&!(c-d)&&(e||d)&&(!e||(a&&d)))
{
cout<<a<<b<<c<<d<<e<<endl;
}
}
return 0;
}
329 楼
chenhuips2 [专家分:10] 发布于 2006-10-10 22:27:00
再做个第三题希望和大家交流一下,努力全部做完^_^
#include<iostream.h>
#include<math.h>
main()
{ int n,i,j,k;
cout<<"请输入您要打印方阵边数.(3<n<20)"<<endl;
cin>>n;
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
{
if(i==1||i==n||j==1||j==n)
{cout<<'T';continue;}
if(i==2||i==n-1||j==2||j==n-1)
{cout<<'J';continue;}
for(k=1;k<ceil(float(n)/2)-1;k++)
{
if(i==k+2||i==n-k-1||j==k+2||j==n-k-1)
{cout<<k;break;}
}
}
cout<<endl;
}
}
330 楼
crazyyang [专家分:0] 发布于 2006-10-10 23:31:00
强 我连一个也做不来.大哥学c语言怎么这么难哦
我来回复