用c语言判断一个数是否为素数
问题描述:
若用户输入负数,浮点数,1,甚至是字母,字母与数字的组合,该怎么处理?麻烦给出所有可能的测试数据和最后的优化代码
答
scanf("%d",&a);
你看下scanf的返回值。如果是0就是输入有误,>0的话就输入的正确。。
答
如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮
#include <stdio.h>
int main(void)
{
int m, i;
float n;
if (scanf("%f", &n)!=1){
printf("输入的不是数字!\n");
return 0;
}
if (n!=(int)n){
printf("输入的不是整数!\n");
return 0;
}
m = (int)n;
if (m<=1){
printf("不是素数!\n");
return 0;
}
for (i = 2; i < m; i++) //2到(m-1)的数去除m
{
if (m % i == 0) // 判断能否整除
break;
}
if (i == m)
printf("是素数!\n");
else
printf("不是素数!\n");
return 0;
}
如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮
答
CSDN专家-天际的海浪 写的很好呀,2也可以的