题目描述:
算法思路:本题我利用的是数组的知识来解决,我先把输入的字符串存储在字符a数组中,创建一个字符b数组,存储不相同的字符,再创建一个num数组来存储每个字符出现的次数(这里num数组中元素我初始化为1,因为本程序是重复一次,num就再加1,刚好对应该字符出现两次)。最后再对num数组中的元素进行排序,得到最大值和最小值只差,再判断是否是质数,本题就得以解决。
第一步:现将a数组的第一个元素e放到b数组中的b[0]位置
b[0] = a[0];
第二步:对a数组从1开始取字符与b数组中的元素进行比较,如果两个字符相同,则对应的num数组位置加1,如果不相等则将该a数组中的元素赋给b数组,b数组又增添一个新元素。这样一直进行到把a数组的字符给取完(这里用了flag来判断是否两个数组的元素是否相等)
for(int i = 1;i<n;i++){
for(int j = 0;j<index;j++){
if(a[i]==b[j]){
num[j]+=1;
//有相等
flag = true;
break;
}
}
if(flag == false){
b[index++]