解题思路:
素数指在一个大于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分
44 人评分
#include <stdio.h> void f(int n) { int i=2; for(i=2;i<n;i++) { if(n%i==0&&n!=2) printf("not prime"); else printf("prime\n"); } if(n==2) printf("prime"); } int main() { int a; scanf("%d",&a); f(a); return 0; } 大佬们,问一下为什么出来一串prime啊。裂开
#include <stdio.h> void JudgePrime(int n) { int i = 2; while (n % i) { i++; } if (i == n) { printf("prime\n"); } else { printf("not prime\n"); } } int main() { int num = 0; scanf("%d", &num); JudgePrime(num); return 0; }
请问( i == number )这个是什么意思啊?这个的作用是什么?
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"); } }
一 2022-10-29 11:18:22 |
int a, num=0; scanf("%d", &a); for (int i=1;i <= a; i++;) { if (a % i == 0) { num++; } } if (num > 2) { printf("%d不是一个素数",a); } else { printf("%d是一个素数"',a);}为什么我的一直报错?
#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; }
这是错的,输入121出来的是not。
楼主考虑的好全面啊,我也加上负数了 #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; }
梧高凤必至 2023-01-12 23:10:51 |
实际上根本没必要,看看题目输入一个整数,不过确实挺全面的
#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; }
A+B for Input-Output Practice (IV) (C语言代码)浏览:551 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:702 |
分糖果 (C++代码)浏览:1537 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:624 |
幸运数 (C++代码)浏览:1309 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:1325 |
核桃的数量 (C语言代码)浏览:893 |
小九九 (C语言描述,不看要求真坑爹)浏览:1006 |
演讲大赛评分 (C语言代码)浏览:1697 |
DNA (C语言代码)浏览:837 |
小辣鸡 2023-11-30 13:42:32 |
懂了,麻烦了