求助,只有60分,代码有点复杂,希望能指点一二
查看原帖
求助,只有60分,代码有点复杂,希望能指点一二
428219
x_xx_x楼主2021/2/14 19:45
#include<stdio.h>
#include<string.h>
#include<math.h>

int Prime(int n)
{
	int i,k;
	k=sqrt(n);
	for(i=2;i<=k;i++)
	{
		if(n%i==0)
		break;
	}
	if(n!=1&&i>k&&n!=0)
	return 1;
	else
	return 0;
}
int main()
{
	int i,j,k=0;
	static int a[1000];
	char w[1000];
	gets(w);
	for(i=0;i<1000;i++)
	{
		a[i]=1;
	}
	for(i=0;i<strlen(w);i++)
	{
		if(w[i]=='0')
		{
			continue;
		}
		if(w[i]!='0')
		{
			if(i!=strlen(w)-1)
			{
				 for(j=i+1;j<strlen(w);j++)
		       {
			        if(w[i]==w[j])
			        {
			        	a[k]++;
			        	w[j]='0';
					}
					else
					{
						continue;
					}
		       }
		       
			}
			if(i==strlen(w)-1)
			{
				k++;
				break;
			}
			k++;
		}	
	}
	for(i=0;i<k-1;i++)
	for(j=i+1;j<k;j++)
	{
		int t;
		if(a[i]>a[j])
		{
			t=a[i];
			a[i]=a[j];
			a[j]=t;
		}
	}
	if(Prime(a[k-1]-a[0])==1)
	printf("Lucky Word\n");
	else
	printf("No Answer\n");
	printf("%d",a[k-1]-a[0]);
}
2021/2/14 19:45
加载中...