作业:数组内排序;数组倒置;0~100素数,
2016-12-14 本文已影响9人
Hassan_chao
1、数组内排序:完成内容,无疑问。
#include<stdio.h>
int main()
{
int num;
int i=0;
int j;
int k;
int arr[10]={1,3,5,7,9,11};
printf("Please input a even number from 1~10 :");
scanf("%d",&num);
for(i=0;i<10;i++)
{
printf("%3d",arr[i]);
}
printf("\n");
for(i=0;i<10;i++ )
{
if((num>arr[i])&&(num<arr[i+1]))
{
// j=arr[i+1];
// arr[i+1]=num;
for(i;i<10;i++)
{
j=arr[i+1];
arr[i+1]=num;
num=j;
}
}
}
for(i=0;i<10;i++)
{
printf("%3d",arr[i]);
}
printf("\n");
return 0;
}
2、数组倒置
#include<stdio.h>
int main()
{
int i;
int arr[10]={0,1,2,3,4,5,6,7,8,9};
printf("原来数组:");
for(i=0;i<10;i++)
{
printf("%2d",arr[i]);
}
printf("\n");
int mid=10/2;
int m;
for(i=0;i<=mid;++i)
{
int k=9-i;
m=arr[i];
arr[i]=arr[k];
arr[k]=m;
}
printf("倒置数组:");
for(i=0;i<10;i++)
{
printf("%2d",arr[i]);
}
printf("\n");
return 0;
}
3、0~100素数 出现核心转储问题,解决中。。。。。
//素数,只能被1和自身整除的数,即素数
//2~100之间的素数并保存到数组中
//开方处理,效率指数提升 sqrt(); #include<math.h>
#include<stdio.h>
#define N 50
int main()
{
int arr[N];
int i=2;
int j=0; //统计素数的个数
int k=2;
for(i=2;i<=100;i++)
{
for(k=2;k<i;k++) //从开始2遍历,找到能被i整除的数
{
if(i%k==0)
break; //找到则退出内层循环
}
if(i==k) //若i==k,则k为素数,否则不是素数
{
arr[j]=i;
j++;
/*printf("%4d",i);
if(j%5==0)
printf("\n");*/
}
}
for(i=0;i<j;i++)
{
if(i%5==0)
printf("\n");
printf("%4d",arr[i]);
}
printf("\n");
return 0;
}