[求助]用JAVA来实现一道C语言的题目
让程序员要求拥护输入一个大写字幕,使用潜逃循环产生像下面的金字塔图案:A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
这种图案要扩展到用户输入的字符,例如,上面这个图是输入‘E’后产生的,输入F产生的还不一样
------------------------------------------以上是原题---------------------------------------------------
从C语言版块转过来的
用C语言实现了,但是貌似如果用JAVA来做的话,对字符的处理不熟悉,一时不知道应该如何下手
貌似用JAVA来做这种题很麻烦啊,好象JAVA不能象C那样直接对ASCII码进行加加减减的运算啊,
而对于输入的字符的限制也不能象C那样用getch()那样方便啊
求解
[bo][un]Estudy[/un] 在 2008-11-20 14:59 的发言:[/bo]
这是论坛里面某人用C写的代码,不超过20行,
(我自己用的if语句和for循环写的接近50行)
#include <stdio.h>
int n = 0, N;
#define ___(_) putchar(_+'@')
int main(int _, char**__)
{
return (_==1) ? !n && (N = getchar()),
printf("%*c", N - n -'@', 'A'):
___(_), _<=n && (main(_+1, __),
___(_)), _==1 && (___(-54), 'A'
+ n < N && (n++, main(1, __)));
}
看完代码后仍然觉得用JAVA写比C简单的话,麻烦将代码贴上来让大家学习一下
反正代码"简单",也不会占用多少时间,小弟不胜感激;
如果只是想说些C语言跟JAVA作比较的争论又或者该题目简单还是复杂的话,拜托请不要回帖,让该帖子沉下去吧,当我没问,OK?
最后,谢谢合作
这是论坛里面某人用C写的代码,不超过20行,
(我自己用的if语句和for循环写的接近50行)
#include <stdio.h>
int n = 0, N;
#define ___(_) putchar(_+'@')
int main(int _, char**__)
{
return (_==1) ? !n && (N = getchar()),
printf("%*c", N - n -'@', 'A'):
___(_), _<=n && (main(_+1, __),
___(_)), _==1 && (___(-54), 'A'
+ n < N && (n++, main(1, __)));
}
看完代码后仍然觉得用JAVA写比C简单的话,麻烦将代码贴上来让大家学习一下
反正代码"简单",也不会占用多少时间,小弟不胜感激;
如果只是想说些C语言跟JAVA作比较的争论又或者该题目简单还是复杂的话,拜托请不要回帖,让该帖子沉下去吧,当我没问,OK?
最后,谢谢合作
[[it] 本帖最后由 Estudy 于 2008-11-20 15:05 编辑 [/it]]