C语言代码表示 蒜头君有一个字母串,但是他觉得这个字母串不优美,他认为回文字母串才优美,回文字母串指从左到右读和从右到左读一样的字母串。 他现在想把这个字母串变成一个回文字母串,每次操作他可以修改字符串的某一个字母,可以修改成任意字母,问蒜头君至少需要做多少次操作才能得到一个回文字母串。 输入格式 输入一行,包含一个字符串, 1 ≤ 1≤ 字符串长度 ≤ 1 0 5 ≤10 5 并且仅包含小写字母。 输出格式 输出一行,包含 1 1 个整数,表示蒜头君至少要做的操作次数。 数据范围 对于 100 % 100% 的数据, 1 ≤ 1≤ 字符串长度 ≤ 1 0 5 ≤10 5 并且字符串中仅包含小写字母
时间: 2024-02-22 22:56:45 浏览: 42
C语言程序设计-输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数;
5星 · 资源好评率100%
以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100005
int main()
{
char str[MAX_LEN];
scanf("%s", str);
int len = strlen(str);
int cnt = 0;
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
cnt++;
}
}
printf("%d\n", cnt);
return 0;
}
```
思路解析:
题目要求求出至少需要修改多少个字符才能让一个字符串变成回文字符串,那么我们可以从字符串的头和尾开始遍历,如果头和尾的字符不相等,那么就需要修改一个字符,将头或者尾的字符改成另一个字符,使它们相等。最终遍历完整个字符串,统计修改字符的次数即可。
阅读全文