这道题目对于排序(统计)以及质数都有一定的要求。不过还是小case(笑)
#include<stdio.h> #include<string.h> int main() { int a[26]={0},flab=1,minn=1000,maxn=-100,sum,i=0;//假设1000为正无穷,-100为负无穷。flab也可用bool. char b[101]; scanf("%s",b); for(i=0;i<strlen(b);i++) a[b[i]-'a']++;//输入单词,桶排序 for(i=0;i<26;i++) { if(a[i]>maxn) maxn=a[i]; else if(a[i]<minn&&a[i]>0) minn=a[i]; } sum=maxn-minn; for(i=2;i<sum;i++) { if(sum/i==0) {flab=0;break;}//判断是否质数 } if(flab!=0) { if(sum!=1&&sum!=0) { printf("Lucky Word"); printf("\n%d",sum); } else printf("No Answer\n0"); } else printf("No Answer\n0"); return 0; }