輸入字串:a~z代表1~26;A~Z代表27~52,判斷整個字串的總和是不是質數
[心得]
1.sqrt()前面記得補(int)
2.!(sum%i)要記得括號,不然!sum會先做
3.在本題1也算質數,但沒差...
#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
char input[22];
int sum,i,len,prime;
while(gets(input)!=NULL)
{
sum=0;
len=strlen(input);
for(i=0;i<len;i++)
{
if(input[i]>='a')
sum+=input[i]-96;
else if(input[i]<='Z')
sum+=input[i]-38;
}
for(i=2;i<=(int)sqrt(sum);i++)
if(!(sum%i)) break;
if(i<=(int)sqrt(sum))
printf("It is not a prime word.\n");
else
printf("It is a prime word.\n");
}
return 0;
}