原题链接:[编程入门]自定义函数处理素数
解题思路:
素数指在一个大于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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
#include<stdio.h> int fun(int a) { int i,n=0; for (i = 2; i <= a; i++) { if (a%i == 0) { n++; } } return n; } int main() { int a,n; scanf("%d\n", &a); n = fun(a); if (n == 1) { printf("prime"); } else { printf("not prime"); } return 0; }#include<stdio.h> int a,i; void prime() { for(i=2;i<=a;i++) { if(a%i==0&&a!=i) { printf("not prime\n"); } else if(a%i==0&&a==i) printf("prime\n"); } } int main() { scanf("%d",&a); if(a>1) { prime(); } if (a<=1) printf("not prime"); return 0; }#include <stdio.h> int ss(int a); int main() { int x; scanf("%d",&x); ss(x); return 0; } int ss(int a) { int i,count; if(a==2) { printf("prime\n"); } for(count=2;count<a;count++) { if(a%count == 0) { printf("not prime\n"); break; } else printf("prime\n"); break; } }#include<stdio.h> void pdss(int x) {for(int i=2;i<x;i++) if(x%i==0) {printf("not prime"); return; } printf("prime"); } int main() {int a; scanf("%d",&a); pdss(a); return 0; }#include<stdio.h> #include<math.h> int fun(int n) { int i,leap=1,k; k=(int)sqrt(n); for(i=2;i<=k;i++) { if(n%i == 0) { leap=0; break; } } if(leap)return 1; else return 0; leap=1; } int main() { int a,c; while(1) { printf("please input a number:"); scanf("%d",&a); if(fun(a)!= 0) printf("prime\n"); else printf("not a prime\n"); } return 0; }哪位大神来帮我改一下代码,运行结果正确,但是就是提交的时候答案错误 #include<stdio.h> int max(int i) { int a,b; a=1; b=0; while(a<=i) { if(i%a==0) { b=b+a; a++; } else a++; } if(b==i+1) return 0; else return 1; } main() { int n; scanf("%d",&n); if(max(n)==0) printf("prinme"); else printf("not prinme"); }