早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C语言编程回文串题目四:完美的代价“回文串”,是一种特殊的字符串,它从左往右和从右往左读是一样的。有人认为回文串是一种完美的字符串。现在给你一个字符串,它不一定是回文串

题目详情
C语言编程回文串
题目四:完美的代价
“回文串”,是一种特殊的字符串,它从左往右和从右往左读是一样的。有人认为回文串
是一种完美的字符串。现在给你一个字符串,它不一定是回文串,请你计算最少的交换次数
使得该串变成一个回文串。这里的交换指将字符串中两个相邻的字符互换位置,例如所给的
字符串为mamad,第一次交换ad,得到mamda;第二次交换md,得到madma;第三次交
换ma,得到madam(回文!完美!)
程序要求从键盘读入数据。第一行是一个整数N(N<=8000),表示所给字符串的长度,
第二行是所给的字符串,长度为N 且只包含小写英文字母。如果所给字符串能经过若干次
交换变成回文串,则输出所需的最少交换次数;否则,输出Impossible。如下面两个例子:
例1:
5
mamad
3
▼优质解答
答案和解析
#include main() { int n,n1,x,y=0,m=0,i,j,k,tong; char *a,b[27],ch,dan=0; printf("n="); scanf("%d",&n); a=(char *)malloc(sizeof(char)*n+1); a[n]=0; b[0]=0; scanf("%s",a); for...
看了C语言编程回文串题目四:完美的...的网友还看了以下: