當前位置:成語大全網 - 端午節詩句 - 我不知道我的C代碼出了什麽問題。氣體!!!我已經研究了好幾天了!!!

我不知道我的C代碼出了什麽問題。氣體!!!我已經研究了好幾天了!!!

我大概明白妳的意思。其實就是輸入壹個字符串,看上面的推導方法能否得到目標字符串!

但是妳的程序好像有點復雜!對了,我研究過了...寫了壹段代碼。不知道適不適合妳!

只是為了語法!

學了壹個小時,才50分...不知道會不會給我。~不知道值不值得!

如下:測試結果附後。

# include & ltstdio.h & gt

# include & ltconio.h & gt

# include & ltstring.h & gt

char conver(char * buf);

char conver(char ch);

int sortA(char *buf,int nLen);

void main()

{

char buf[1024];

char ch

while(1)

{

printf("請輸入緩沖區...\ n ");

gets(buf);

if(sortA(buf,strlen(buf)) == 0)

printf("錯誤\ n ");

其他

{

printf("這個OK!\n如果您想繼續,請按“Y”\ n”);

ch = getch();

如果(ch!= ' Y ' & amp& ampch!= 'y ')

打破;

}

}

}

int sortA(char *buf,int nLen)

{

字符溫度[1024];

char ch

for(int I = 0;我& ltnLeni++)

{

if((ch=conver(buf[i])!= 0) //取壹位

{

strcpy(temp,buf);

temp[I]= ch;

If (sorta (temp,nlen)= = 1)//循環遞歸調用自身。

{

printf(" % s-& gt;%s\n ",temp,buf);

返回1;

}

}

if(nLen = = 3 & amp;& amp((ch = conver(buf))!= 0)) //獲取字符串==3位時的結果。

{

printf(" % c-& gt;%s\n ",ch,buf);

返回1;

}

如果(我& ltNLen-2) //取三位數。

{

temp[3]= 0;

strncpy(temp,buf+i,3);

if((ch=conver(temp))!= 0)

{

strncpy(temp,buf,I);

temp[I]= 0;

sprintf(temp," %s%c%s\0 ",temp,ch,buf+I+3);

If (sorta (temp,nlen-2)= = 1)//遞歸調用自己。

{

printf(" % s-& gt;%s\n ",temp,buf);

返回1;

}

}

}

}

返回0;

}

Char conver(char *buf) //轉換,只有3位和1位。

{

if(strcmp(buf," aSe))= = 0)//S-& gt;美國證券交易所

返回“S”;

if(strcmp(buf," bBe))= = 0)//B-& gt;商務教育學士(Bachelor of Business Education的縮寫)

返回“B”;

if(strcmp(buf," cCc ")= = 0)//C-& gt;控制臺控制電路

返回“C”;

返回0;

}

字符轉換器(字符通道)

{

if(ch = = ' B ')//S-& gt;B

返回“S”;

if(ch = = ' C ')//B-& gt;C

返回“B”;

if(ch = = ' d ')//C-& gt;d

返回“C”;

返回0;

}

測試信息:

請輸入緩沖區...

abccdee

錯誤的

請輸入緩沖區...

abcdcee

s-& gt;美國證券交易所

aSe->;亞伯

安倍-& gt;阿比

艾比-& gt;abCee

abCee-& gt;abcCcee

ABC ccee-& gt;abcdcee

這沒問題!

如果您想繼續,請按“Y”