C语言:在键盘上任意输入50个正整数,找出其中的素数,并将其按升序排列

如题所述

void main()
{
int i,j,k=0,a,s[50];
for(i=0;i<50;i++)
{
scanf("%d",&a);
//小于等于1的数不算素数
if(a<=1)
continue;
//判断是否是素数
for(j=2;j<a/2;j++)
{
if(a%j==0)
{
break;
}
else
{
continue;
}
}
if(j>=a/2)
{
s[k++]=a;
}
}
//排序
for(i=0;i<k;i++)
{
for(j=i+1;j<k;j++)
{
if(s[i]>s[j])
{
a=s[i];
s[i]=s[j];
s[j]=a;
}
}

}
//输出
for(i=0;i<k;i++)
{
printf("%d ",s[i]);
}
}
温馨提示:内容为网友见解,仅供参考
无其他回答

求素数的C语言程序!
C语言-寻找素数 附代码:#include<stdio.h>#include<math.h>int main()\/\/原理:设ab=c,a<b,则有a<根号c<b。若设a恒小于根号c,则只需判断a是否为因数{int a, b;printf("请按从小到大输入两个素数:");scanf_s("%d %d", &a, &b);int n = 0,m=0,sum = 0;double i, j...

用C语言把2-100之内的素数放到数组里,并且输出来。
输出100以内的素数,思路:假如自然数N不是素数,则除1和其本身之外,必然至少存在两个数A和B,使得A*B=N,则A和B中必有一个大于或者等于sqrt(N),另一个小于或者等于sqrt(N)。下面是粗略证明如果N是合数,则必有一个小于或者等于根号N的素因子.因为任何合数都可表示为两个或者更多个素数之积。...

c语言:对称三位数素数
include"stdio.h"void main(){ int i,j,k,n,m;for(i=1;i<=9;i++){ for(j=0;j<=9;j++){ for(k=1;k<=9;k++){ if(i==k){ n =100*i+j*10+k;for( m=2;m<n\/2;m++){ if(n%m==0)printf("%d%d%d\\n",i,j,k);break;} } } } } } 请参考 ...

C语言编程题目
下面是一些C编程题目:1. 编写程序,从键盘输入两个整数,输出它们的和、差、积、商、余数。2. 编写程序,从键盘输入三角形的三条边长,判断它们是否可以构成三角形,并输出三角形的类型(等边、等腰、一般)。3. 编写程序,从键盘输入字符串,统计其中的大写字母、小写字母、数字和其他字符的个数,并...

随机产生20个1~50之间的正整数放入数组A中,输出这组随机数。C语言(VC...
i<=n;i++)if(n%i == 0)j++;if(j==2)return true;return false;}int main(){int i,j=0,A[20],B[20];srand(unsigned(time(NULL)));for(i=0;i<20;i++){A[i] = rand()%50+1;if(isprime(A[i])) \/\/如果是素数,把A[i]给B[j]{B[j] = A[i];j++;}}for(...

想深入学习C#语言,有没有达人知道C#的好的资料呢?
《C#程序设计》——编程题(上机操作题)1、从键盘输入一个正整数,按数字的相反顺序输出。2、从键盘上输入两个整数,由用户回答它们的和,差,积,商和取余运算结果,并统计出正确答案的个数。3、写一条for语句,计数条件为n从100~200,步长为2;然后再用while语句实现同样的循环。4、编写一段程序,运行时向用户提问...

C语言判断质数,for语句里一个条件看不懂?
100\/3=33.33,取整就是33,就算向上取整,也才34,那么意味着,如果这个数能被3整除,那么34-100的数就不需要去做了,因为如果能被3整数,那么33以上的数肯定有一个能被整除,而3都不能整除的话,那么34以上的数一定找不到能被整除的数了,所以我们会发现i每次增加1了之后,我们要寻找的数的...

编写一个程序,将字符串computer赋给一个字符数组,然后从第一个字母...
include <stdio.h> include <string.h> void main(int argc, char **argv){ char str[] = "computer";char *pstr;int i;pstr = str;for(i = 0; i < strlen(str); i += 2){ printf("%c", *(pstr + i));} printf("\\n");} ...

c语言求编程:等比数列
include <stdio.h> void main(){ float q[50]={0};double sum=1.0;int n[50]={0};int i=0;int x=0;int y=0;while(i<2){scanf("%d %f",&n[i],&q[i]);i++;} for(i=0;i<50;i++){ if(0==q[i])break;} double dum=0;for(x=0;x<i;x++){for(y=0;y<...

求助2,9,25,49,( )和1\/3,1\/9,1\/27,1\/27,1\/3,( )的解答过程
所以,研究加法关系a+b中的素数分布问题,只能在区间(0,2∞)之间进行。则有: 2∞=1+(2∞-1)=2+(2∞-2)=...=∞+∞显然,在加法关系a+b中,当a→∞时,则b只能以超越自然数的∞+1、∞+2、...、∞+n、...等共尾序数的形式表之。所以,在加法关系a+b中,其基数已超出了自然数集N的基数。归纳...

相似回答