跳跃的字符(简单)

某日小王学姐对着算法书发呆,过了一会对小陈学长说道,要是这些字符自己会动,它们能不能自己排成一列对称的字符串呢??小陈学长也十分想知道这个问题的答案,那么聪明的学弟学妹你们能帮助小陈学长解决这个问题吗?
输入
首先输入一个数字T,表示有T组数据
每组数据输入一行字符串,仅包含大小写字母(不超过1000字符)
输出
如果这些字符可以组成一个对称的字符串输出Yes
否则输出No
样例
2
AACC
Aabb
Yes
No
题目解析:
统计所有字母的个数如果是如果只有一个字母的总个数是奇数或者都是偶数,那么就是Yes,否则就是No
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

#define maxn 1005
#define INF 100000

int main()
{
    int T;

    freopen("1.in""r", stdin);
    freopen("1.out""w", stdout);

    scanf("%d", &T);

    while(T--)
    {
        int i, a[30]= {0}, b[30]= {0}, k=0;
        char s[maxn];

        scanf("%s", s);

        for(i=0; s[i]; i++)
        {
            if(s[i]>='a' && s[i]<='z')
                a[s[i]-'a']++;
            else
                b[s[i]-'A']++;
        }

        for(i=0; i<26; i++)
        {
            if(a[i] % 2)k++;
            if(b[i] % 2)k++;
        }

        if(k>1)
            printf("No ");
        else
            printf("Yes ");
    }

    return 0; 

}

原文地址:https://www.cnblogs.com/liuxin13/p/4676215.html