C或者C++,从键盘中输入10个正整数到一个一维数组,将数组中的素数按从小到大的顺序排列后输出
2条回答 默认 最新
- CSDN专家-link 2021-12-26 20:59关注
先提取素数,然后再排序
//从键盘中输入10个正整数到一个一维数组,将数组中的素数按从小到大的顺序排列后输出 #include <stdio.h> int isprime(int n) { int i; if(n<2) return 0; for(i=2;i*i<=n;i++) if(n%i==0) return 0; return 1; } int main() { int a[10]; int i,j=0,n=0,t; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) if(isprime(a[i])) a[n++] = a[i]; if(n==0) printf("Not Found"); else { for(i=0;i<n-1;i++) for(j=0;j<n-i-1;j++) { if(a[j] > a[j+1]) { t = a[j]; a[j] = a[j+1]; a[j+1] = t; } } for(i=0;i<n;i++) printf("%d ",a[i]); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录