嘿嘿,既然封我一个“斑竹”,咱也别客气,有权不用过期作废,想要加钱 ,加威望,加...的,只要你回答是最好的,我就加!
问题:
1。A,B两字符,可组成长度为10的字符串的所有的解。
例:AAAAAAAAAA,AAAAAAAAAB,AAAAAAAAABB,.......
2. 反序输出输入的字符串
例:输入 ABCDEFG
输出 GFEDCBA
[此贴子已经被作者于2004-08-28 13:47:13编辑过]
嘿嘿,既然封我一个“斑竹”,咱也别客气,有权不用过期作废,想要加钱 ,加威望,加...的,只要你回答是最好的,我就加!
问题:
1。A,B两字符,可组成长度为10的字符串的所有的解。
例:AAAAAAAAAA,AAAAAAAAAB,AAAAAAAAABB,.......
2. 反序输出输入的字符串
例:输入 ABCDEFG
输出 GFEDCBA
[此贴子已经被作者于2004-08-28 13:47:13编辑过]
恭喜恭喜,啊!!我就早说你不是坏人,有技术就该当个斑竹什么的才对呀
第一个还没想出来先回答第二个
2:
#include<stdio.h>
main()
{int i,j;char a[10];
printf("input string.\n");
for(i=0;i<10;i++)
scanf("%c",&a[i]);
for(j=i-1;j>=0;j--)
printf("%c",a[j]);
printf("\n");
getch();
}
你没有说字符个数,暂以十个代替。
第一道题用循环就可以写
我给第二题的答案
#include <string.h>
main()
{
char str[80];
int c,i,j;
printf("enter a string:\n");
gets(str);
for(i=0,j=strlen(str)-1;i<j;i++,j--)
{
c=str[i];
str[i]=str[j];
str[j]=c;
}
printf("Reversed string:\n");
puts(str);
}
[此贴子已经被作者于2004-08-28 18:03:25编辑过]
臭knocker,第二题做出来了,快发奖品吧,不要告诉我一等奖是你的马桶板,我不要那个,你拿回去烧饭好了!另外,cout<<等于printf(),换了一下而已,C++的,天使和忆楠应该看得懂吧?
#include<iostream.h> #include<string.h>
void B_char(char[],int);
void main() { char str[11]="AAAAAAAAAA"; cout<<str<<endl<<endl; int length=sizeof(str)/sizeof(char); B_char(str,length); }
void B_char(char str[],int length) { if(strcmp(str,"BBBBBBBBBB")!=0) { str[length-2]='B'; cout<<str<<endl; for(int i=length-3;i>=0;i--) { str[i]='B'; cout<<str<<endl; str[i]='A'; } B_char(str,--length); } }
[此贴子已经被作者于2004-08-28 19:51:56编辑过]
我十分遗憾地告诉你:
1。C++我看得懂
2。你做错了!
(1)给个具有C语言特色的代码:
/*其实AB串就等价于01串,也就是二进制串,10位也就是举出0——2^10-1的二进制数,然后转化成AB的形式就可以了*/
这个代码的效率应该是OK的,是吧,knocker?至于奖品,我是不太期待猜谜能给什么。
main() {int max=1,n,i,j; max=max<<10;
for(i=0;i<max;i++) {for(j=0;j<10;j++) {n=(i>>j)&1;n=n+'A'; printf("%c",n);} printf("\n");getch();} }
===========================
整理一下
void main(void) { int max=1,n,i,j ;
max=max<<10 ; //max左移后为二进制的10000000000,即十进制的1024 for(i=0;i<max;i++) {//做0~1023的循环 for(j=0;j<10;j++) { n=(i>>j)&1 ;//取得二进制 i 每一位 n=n+'A' ;//为0则打印 A,为 1则打印 B printf("%c",n); } printf("\n"); getch(); } }
(2)的代码大同小异,就不凑热闹了[此贴子已经被knocker于2004-08-28 21:45:41编辑过]
不错,不错,唯一不足就是代码太乱,哈哈,这个也是你的作风,自己写自己看无所谓,贴上论坛给别人看还是范点好。帮你理一理。
加分,加钱,加......反正能加的都加上。其它人的也等几天一起加。
晕,我的也对了一半,只不过没有反过来再打印一次而已,而且用递归(我知道浪费内存)
乌鸦的好像没打印出"AAAAAAAAAB",我编译了一下。
不是没打印出来,是你没仔细检查(没那个耐心看结果),
我的程序是反序打印的,如果搜索到的二进制是0000000001那我打印出来的就是BAAAAAAAAA
AAAAAAAAAB是在i=(MAX>>1)的时候才打印的。