您的位置:首页 > 编程语言 > C语言/C++

c语言编程练习——2014/7/26——数组

2014-07-26 00:16 387 查看
6.1

//筛选法求100以内素数
#include <stdio.h>
#include <math.h>
int main()
{
int i,j,n,a[101];
for (i = 1; i <= 100; i++)
a[i] = i;//对数组赋值
a[1] = 0;//除去a[1]
for (i = 2; i < sqrt(100); i++)
for (j = i+1; j <= 100; j++)
{
if ( a[i] != 0 && a[j] != 0)
if (a[j] % a[i] == 0)
a[j] = 0;
}
printf("\n");
for (i = 2,n=0; i <= 100; i++)
{
if (a[i] != 0)
{
printf("%5d",a[i]);
n++;
}
if (n == 10)
{
printf("\n");
n=0;
}
}
printf("\n");
return 0;//misad
}

6.2
//选择法对10个整数排序
#include <stdio.h>
int main()
{
int i,j,min,temp,a[11];
printf("enter data: \n");
for (i = 1; i <= 10; i++)
{
printf("a[%d] = ",i);
scanf("%d",&a[i]);
}
printf("\n");
printf("The original numbers:\n");
for (i = 1; i <= 10; i++)
printf("%5d",a[i]);
printf("\n");
for (i = 1; i <= 9; i++)
{
min = i;
for (j = i;j <= 10; j++)
{
if( a[min] > a[j])
{
min = j;
}
}
if(min != i)
{
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
printf("\nThe sorted numbers:\n");
for(i = 1; i <= 10; i++)
printf("%5d",a[i]);
printf("\n");
return 0;//misad
}

6.4
//将一个数输入已排好序的数组中
//先用冒泡法将9个数进行排序,最后插入第十个数完成任务
#include  <stdio.h>
int main()
{
int a[10],i,j,temp,pt;
printf("enter data:\n");
for(i = 0; i < 9; i++)
{
printf("a[%d] = ",i);
scanf("%d",&a[i]);
}

printf("Enter inserted number:\n");
printf("a[9] = ");
scanf("%d",&a[9]);

printf("The orginal numbers:\n");
for(i = 0; i < 9; i++)
printf("%5d",a[i]);
printf("\n");

//mission 1
for(i = 0; i < 8; i++)             //BubbleSolt
{
for(j = 0; j < 8-i; j++)
{
if(a[j]>a[j+1])
{
temp = a[j+1];
a[j+1] = a[j];
a[j] = temp;
}
}
}

printf("The sorted numbers:\n");
for (i = 0; i < 9; i++)
printf("%5d",a[i]);
printf("\n");

//mission 2

for (i = 0; i < 10; i++)
{
if(a[9] > a[i] && a[9] <= a[i+1])
{
pt=i+1;break;
}
}

for(j = 9; j >pt; j--)
{
temp = a[j];
a[j] = a[j-1];
a[j-1] =temp;
}

printf("The final sorted numbers:\n");
for (i = 0; i < 10; i++)
printf("%5d",a[i]);
printf("\n");

return 0;//dd

}
answer to 6.4
//6.4答案
#include <stdio.h>
int main()
{
int a[11] = {1,4,6,9,13,16,19,28,40,10};
int temp1,temp2,number,end,i,j;
printf("array a:\n");
for (i = 0; i < 10;i++)
printf("%5d",a[i]);
printf("\n");
printf("insert data:");
scanf("%d",&number);
end = a[9];
if(number > end)
a[10]=number;
else
{
for (i = 0;i < 10; i++)
{
if (a[i] > number)
{
temp1 = a[i];
a[i] = number;
for (j = i+1; j < 11; j++)
{
temp2 = a[j];
a[j] = temp1;
temp1 = temp2;
}
break;
}
}
}
printf("Now array a:\n");
for (i = 0;i < 11; i++)
printf("%5d",a[i]);
printf("\n");
return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: