程序填空:
1、将数组a中所有偶数删除,把奇数按原顺序依次存放到a[0]、a[1]、a[2]、……、中。
例如:若a数组中的数据最初排列为:9、1、4、
2、
3、6、5、8、7,删除偶数后a数组中的数据为:9、1、3、5、7。
#include<stdio.h>
main()
{
int a[9]={9,1,4,2,3,6,5,8,7},i,k=0;
for(i=0;i<9;i++)
if(__【1】__) a[k++]=a[i];
for(i=k;i<9;i++) a[i]=0;
for(i=0;__【2】__;i++) printf("%4d",a[i]);
printf("\n");
}
2、将所有大于1小于整数m的非素数存入数组a中。
例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。
#include<stdio.h>
#define N 100
main()
{
int a[N],i,j,k=0,m;
__【1】__
for(i=2;i<m;i++)
for(j=2;__【2】__;j++)
if(i%j==0)
{
__【3】__;break;
}
for(i=0;i<k;i++) printf("%4d",a[i]);
printf("\n");
}
3、将斐波那契数列的前20项存放到数组fibonaci中,然后以每行5个数将其输出。
该数组为:1、1、2、3、5、8、13、21、……
#include<stdio.h>
#define N 20
main()
{
int fibonaci[N],i;
for(i=0;i<N;i++)
if(__【1】__) fibonaci[i]=1;
else fibonaci[i]= __【2】__;
for(i=0;i<N;i++)
{
printf("%6d",fibonaci[i]);
if(__【3】__) printf("\n");
}
}
4、逆置数组元素中的值。
例如:若数组中的数据为:1、2、3、4、
5、
6、
7、
8、9,则逆置后依次为:
9、8、7、6、5、4、3、2、1。
#include<stdio.h>
main()
{
int a[9],i,j,t;
for(i=0;i<9;i++) a[i]= __【1】__;
for(i=0,j=8;i<j; __【2】__)
{
t=a[i];a[i]=a[j];a[j]=t;
}
for(i=0;i<9;i++) printf("%4d",a[i]);
printf("\n");
}
5、将数组中的前半部分元素中的值与后半部分元素中的值对换。
若数组元素个数为奇数,则中间的元素不动。
例如:若数组中的数据为:1、2、3、4、5、
6、
7、
8、9,则对换后依次为:6、7、8、
9、5、1、2、3、4;若数组中的数据为:1、2、3、4、5、6、7、8、9、10,则对换后依次为:6、7、8、9、10、1、2、3、4、5。
#include<stdio.h>
#define N 50
main()
{
int a[N],i,j,t,n;
printf("请输入数组元素个数:");
scanf("%d",&n);
printf("请输入数组中的%d个数据:",n);
for(i=0;i<n;i++) scanf("%d",__【1】__);
for(i=0, __【2】__;__【3】__;i++,j++)
{
t=a[i];a[i]=a[j];a[j]=t;
}
for(i=0;i<n;i++) printf("%4d",a[i]);
printf("\n");
}
6、删除数组中所有相同的数,使之只剩一个,然后输出剩下的数据。
数组中的数已按由小到大的顺序排列。
例如:若数组中的数据是:
2 2 2
3
4 4
5 5
6 6 6 6
7 7
8
9 9 10 10 10
删除后,数组中的内容应该是:
2 3 4 5 6 7 8 9 10。
#include<stdio.h>
#define N 20
main()
{
int a[N]={2,2,2,3,4,4,5,5,6,6,6,6,7,7,8,9,9,10,10,10},i,k;
for(k=0,i=1; __【1】__;i++)
{
if(__【2】__) a[++k]=a[i];
}
for(i=0; __【3】__;i++) printf("%4d",a[i]);
printf("\n");
}。