原题链接:[编程入门]自定义函数处理素数
解题思路:
素数指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。
1.输入一个数number,若number为大于一的自然数,判断它是否为素数;
2.number为大于一的小数,不是素数;
3.number小于等于1,不是素数;
参考代码:
#include <stdio.h>
int main()
{
double number;
int i;
scanf( "%lf", &number );
if ( number > 1 && number == (int) number ) //大于1的自然数
{
for ( i = 2; i < number; i++ )
{
if ( (int) number % i == 0 )
{
printf( "not prime" );
break;
}
}
if ( i == number )
printf( "prime" );
}
if ( number>1&&(int) number != number ) //大于一的小数
printf( "not prime" );
if ( number <= 1 ) //小于等于一的数
printf( "not prime" );
return(0);
}0.0分
35 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
int main(){ int a,count=0; scanf("%d",&a); for(int i=1;i<=a;i++){ if(a%i==0){ count++; } } if(count==2){ printf("prime"); }else { printf("not prime"); } }#include <stdio.h> void f(double x); int main(void) { double x; scanf("%lf",&x); f(x); return 0; } void f(double x) { int i,count=0; if(x<0||x!=(int)x) goto L1; for(i=1;i<=(int)x;i++) { if((int)x%i==0) count++; } if(count==2) printf("prime"); else L1:printf("not prime"); return; }楼主考虑的好全面啊,我也加上负数了 #include<stdio.h> void panduan(int b); void panduan(int b) { int i,count=0; for(i=2;i<b;i++) { if(b%i==0) { count++; } } if(count==0) { printf("prime"); } else { printf("not prime"); } } int main() { int a; scanf("%d",&a); if(a>1) { panduan(a); } else { printf("not prime"); } return 0; }#include<stdio.h> void panduan(int b); void panduan(int b) { int i,count=0; for(i=2;i<b;i++) { if(b%i==0) { count++; } } printf("%d",count); if(count==0) { printf("prime"); } else { printf("not prime"); } } int main() { int a; scanf("%d",&a); panduan(a); return 0; }#include<stdio.h> char sushu(int n)//自定义函数处理素数 { int i; if(n>1) { for(i=2;i<n;i++) { if(n%i==0) { printf("not prime"); break; } } if(n==i) printf("prime"); } if(n<=1) printf("not prime"); } int main() { int n; scanf("%d",&n); sushu(n); return 0; }#include <stdio.h> int s(int x); int main(int argc, char *argv[]) { int x; scanf("%d",&x); s(x); return 0; } int s(int x) { int i; int t; for(i=2;i<x;i++) { if(x%i==0) { t=1; } } if(t==1) { printf("prime"); } else { printf("not prime"); } } 为啥只有五十分