首页 > 编程知识 正文

回文串C 实训题,会计实训题

时间:2023-05-05 03:05:06 阅读:186384 作者:2800

前面写:只是个人代码/总结,不一定是标准的。 仅供参考! 如果有错误,就指出交流,期待共同进步!

回文列【问题的说明】

“回文串”无论是正读还是反读都是相同的字符串,例如“level”或“noon”等就是回文串。 列举字符串,最少要在字符串的末尾追加多少个字符,才能使字符串成为回文串?

【输入格式】

有多项测试数据。

每个测试数据的第一行是正整数n,表示字符串的长度,下一行是长度为n的字符串,并且字符串中只有小写字母。

N=0表示输入结束,不需要处理。

40%数列元素的个数N 1 N 100;

30%数列元素的个数N 1 N 1000;

20%数列元素的个数N 1 N 10000;

10%数列元素的个数N 1 N 100000;

【输出格式】

对于每组测试数据,输出非负整数。 添加最小字符数,以使字符串成为回文字符串。

【样品输入】

3

aba

4

aaac

0

【样品输出】

0

3

【示例代码】

# include bits/stdc.husingnamespacestd; booljudge(charch[],int n ) ) { bool b=true; char ch1[n]; for(intI=0; in; I ) { ch1[n-i-1]=ch[i]; }for(intI=0; in; I ) if(ch[I]!=ch1[I](b=false; 黑; } } return b; (}int main ) ) while(1) ) { int n; cinn; if(n==0) {break; } char ch[n]; cinch; OOLB=judge(ch,n ); if(b==true ) { cout'0'endl; 连续; } else { int res=n-1; int num=n; for(intI=0; in; I ) { char ch1[num]; strncpy(ch1,ch i,num ); ch1[num]=' '; BOOLB=Judge(ch1,num ); if(b==true ) {res=i; 黑; (num----); } coutresendl; } } return 0; () ) ) ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。