c语言一三八九有问题
查看原帖
c语言一三八九有问题
1290501
hgdhjgj楼主2024/4/9 22:43
#include<stdio.h>
#include<string.h>
int fun(int n){
	if(n<2){
		return 0;
	}
	else {
	for(int i=2;i<n;i++){
		if(n%i==0){
			return 0;
		}
	}
	return 1;
  }
}
int main(){
	char a[101];
	int minn=100,maxn=0,t,mark=0,counts[150]={0};//t是maxn-minn。mark是用来判断是lucky还是no,lucky是1,no是0;
	// 我们用一维数组作为投票箱把数组上每一个元素的值作为计数器,比如我们读到'a'时我们让counts['a']++。意思就是在内存中字符a是以ASCLL码的形式存储的a的ASCLL的值是97所以就是counts[97]++ 
    scanf("%s",a);
    //统计相同字符数量 
	for(int i=0;a[i];i++){//这里的a[i]的意思是a[i]不为0 
		counts[a[i]]++;//counts的下标是a[i]让a[i]所对应的字符数量++ 
	} 
	//比大小打擂台
	for(int i='a';i<='z';i++){//我们是从字母a到字母z统计数量,所以从a开始,从z结束就可以 
		if(counts[i]>maxn){
			maxn=counts[i];
		} 
		if(counts[i]<minn&&counts[i]!=0){//次数为0不算 
			minn=counts[i];
		}
	}
	//得到一个值 
	t=maxn-minn;
	 //质数判定 
	 if(fun(t)){//这里t不需要取地址的原因是t已经是一个确定的常量如过t不确定是个变量那么就要加&符号 
	 	printf("Lucky Word\n%d",t);
	 }else{
	 	printf("No Answer\n%d",t);
   }
	 return 0;
}
2024/4/9 22:43
加载中...