步骤
1.求出200以内的全部素数;
2.把全部素数存入数组中;
3.由大到小排列该数组并输出;
4.输出50到150的素数,要求第几行输出几个素数。
5.要求自己定义排序的函数。
int IsPrime(n)
int n;
{
int i;
if (n==2)
return(1);
if (n%2==0)
return(0);
for(i=3;i<=n/2+1;i+=2)
if (n%i==0)
return(0);
return(1);
}
main()
{
int c[100];
int n = 0;
int i;
for (i=200;i>=1;i--)
if (IsPrime(i))
c[n++] = i;
for (i=0;i<n;i++)
printf("%d\t\n",c[i]);
}
#include<stdio.h>
int main()
{
int i;
int j;
for(i = 0;i <= 199;i+=2)
{
for(j = 2;j < (i/2);j++)
{
if(i % j == 0)
break; // 当i可以整除j的时候,跳出循环。
}
if(j == i/2)
printf("%d\n",i); //输出i
}
return 0;
}
int count = 1;
int temp = count;
for (int i = 50; i <= 150; i++)
{
if (isprime(i))
{
if (temp == 0)
{printf("\n");count++;temp = count;}
temp--;
printf("%d ", i);
}
}
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int IsPrime(n)
{
int i;
if (n==2)
return(1);
if (n%2==0)
return(0);
for(i=3; i<=n/2+1; i+=2)
if (n%i==0)
return(0);
return(1);
}
void sort(int a[],int n)
{
int i,j;
int t;
for (i = 0; i < n-1; i++)
{
for (j = n-1-i; j <=0; j++)
{
if (a[j] > a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
}
int main()
{
int c[100];
int n = 0;
int i,j=0;
int hang=0,count=0;
for (i=200; i>=1; i--)
if (IsPrime(i))
c[n++] = i;
// printf("n:%d ",n);
sort(c,n);
for (i=0; i<n; i++)
{
printf("%d ",c[i]);
}
printf("\n");printf("\n");
for (i=0; i<n; i++)
{
if(c[i]>=50&&c[i]<=150)
{
printf("%d ",c[i]);
count++;
}
if(count==hang)
{
printf("\n");
count=0;
hang++;
}
}
return 0;
}
我稍微给你改了下,加了排序函数,这样第五条也满足了
int IsPrime(n)
{
int i;
if (n==2)
return(1);
if (n%2==0)
return(0);
for(i=3;i<=n/2+1;i+=2)
if (n%i==0)
return(0);
return(1);
}
void sort(int*c, int n){
int i,j,t;
for (i = 0; i < n; i++)
{
for (j = i + 1; j < n; j++)
{
if (c[i] < c[j])
{
t = c[i];
c[i] = c[j];
c[j] = t;
}
}
}
}
int main()
{
int c[100];
int n = 0;
int i;
for (i=2;i<=200;i++)
if (IsPrime(i))
c[n++] = i;
sort(c, n);
for (i=0;i<n;i++)
printf("%d\t\n",c[i]);
printf("\n");
int j = 0, k = 1;
for (int i = 0; i < n; i++)
{
if (c[i] >= 50 && c[i] <= 150)
{
printf("%d ",c[i]);
j ++;
if (j >= k)
{
j = 0;
k ++;
printf("\n");
}
}
}
printf("\n");
return 0;
}
运行结果: