编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
 30 123
发新话题
打印

[求助]字符串处理问题

[求助]字符串处理问题

任意给定一个大写英文字母,输出从该字母到字母A之间的字母组成的回文串。具体构成方法如下:

a)该串的前半部分是从该字母逐个按字典降序排列到字母A,再按升序排列至该字母。

b)串中的字母A,C,E,G,I,……,Y均为答谢;B,D,F,G,J,……,Z均为小写。

例如:输入英文字母F,程序输出的回文串为:fEdCbAbCdEf。输入大写字母C,程序输出的回文串为:CbAbC。

TOP

调试了一下,可以运行!

#include<stdio.h>
main()
{ int i,j,flag=0;
  char n;
n=getchar();
printf("\n\n\n\n");
printf("%c",n>='a'&&n<='z'?(n%2!=0?n-32:n):(n%2!=0?n:n+32));
j=n>='a'&&n<='z'?n-'a':n-'A';
for(i=0;i<j;i++)
printf("%c",(n--,n>='a'&&n<='z'?(n%2!=0?n-32:n):(n%2!=0?n:n+32)));
for(i=0;i<j;i++)
printf("%c",(n++,n>='a'&&n<='z'?(n%2!=0?n-32:n):(n%2!=0?n:n+32)));
getch();
}

[此贴子已经被作者于2005-1-14 19:04:12编辑过]


TOP

main(){char c,i;for(scanf("%c",&c),i=c=2*(c>=97?c-97:c-65)+1;c;printf("%c",c>i/2?(c-i/2+96)%2?c---i/2+96:c---i/2+64:(i/2-c+98)%2?i/2-c--+98:i/2-c--+66));}

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东

TOP

我也要玩:)
p(int c){putchar(c&1?c:c+32);}foo(int c){p(c),(c>65 && (foo(c-1),p(c)));}main(int c){scanf("%c",&c),foo(c);}
Have you visit acm.tongji.edu.cn lately?

TOP

去掉foo算了
p(int c){putchar(c&1?c:c+32);}main(int c){c>10?p(c),(c>65&&(main(c-1),p(c))):main(getchar());}
Have you visit acm.tongji.edu.cn lately?

TOP

再短3个字符呢...
p(int c){putchar(c&1?c:c+32);}main(int c){c>9?p(c),c>65&&p((main(c-1),c)):main(getchar());}
Have you visit acm.tongji.edu.cn lately?

TOP

哈哈,KAIKAI出手就是不一样!
九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东

TOP

6楼的代码有问题啊

f 唀刢俛

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东

TOP

嘿嘿。还是再把那个函数放回去吧,f比main可短一些,再少5字符。
p(int c){putchar(c&1?c:c+32);}f(int c){p(c),c>65&&(f(c-1),p(c));}main(){f(getchar());}
Have you visit acm.tongji.edu.cn lately?

TOP

不要输入小写的...
Have you visit acm.tongji.edu.cn lately?

TOP

 30 123
发新话题