#include
int prime(int a);
void main(void)
{
int InputNumber;
int ReturnNumber;
printf("Please input a number:");
scanf("%d",&InputNumber);
ReturnNumber = prime(InputNumber);
if(ReturnNumber == 0)
printf("The number is a prime\n");
else if(ReturnNumber == 1)
printf("The number is not a prime\n");
return ;
}
int prime(int a)
{
int divisor;
int remainder;
for(divisor = 2; divisor < a; divisor ++)
{
remainder = a%divisor;
if(remainder == 0 )
{
break;
}
}
if(divisor == a)
return 0;
if(divisor != a || a == 1)
return 1;
}
scanf()函数用法:
输出的值只是空格前面的字符是因为scanf函数的输入格式错误,输入参数的变量前需要加&。
scanf("%s",s);改为scanf("%s",&s);
scanf的用法是:scanf("格式控制字符串",输入参数一,输入参数二);
格式控制字符串包含:格式控制说明,普通字符。
1、格式控制字符串表示输入的格式,(int型用%d,float用%f,double型用%lf)
2、普通字符:在输出数据的时候,按照原样输出的字符,如:"fahr=%d,celsius=%d\n"中的fahr=,celsius=。
3、输入的参数是变量的地址,所以要在变量前面加&。
#include//主函数在后,头文件要在前
void prime(int a)
{
int m;
for(m=2;m<=a;m++) //注意m从2开始
if(a%m==0) break;
if(m<=a-1) printf("%d不是素数\n\n\n",a);
else printf("%d是素数\n\n\n",a);
}
void main()
{while(9){
int i,a;
printf("请输入一个整数:");
scanf("%d",&a);
prime(a);}
}