2. 用随机函数产生整数100个,放入数组中,然后求其中的最大值和最小值并输出最大值最小值在数组中的位置;
3.输入一批数求其平均值,并找出与平均值最接近的数;
4.用随机函数产生整数100个,放入数组中,然后按从大到小排列输出。
5. 已知级数前三项为:x0=0,x1=0,x2=1, 下一项为前三项之和,请编程求出该级数的前20项,并要求每5个数为一行输出;
5. 已知级数前三项为:x0=0,x1=0,x2=1, 下一项为前三项之和,请编程求出该级数的前20项,并要求每5个数为一行输出;
#include <stdio.h>
#define n 20 //可以改变n的值输出不同的结果
void main()
{
int i,a[n],m;
a[0]=a[1]=0;
a[2]=1;
for(i=3;i<n;i++)
a[i]=a[i-1]+a[i-2]+a[i-3];
m=0;
for(i=0;i<n;i++)
{
m++;
printf("%d ",a[i]);
if(m%5==0&&i!=0)
printf("\n");
}
}
#define SIZE 100
void main()
{
srand(time(NULL));
int A[SIZE];
for(int n=0;n<SIZE;n++)
{
A[n]=rand();
}
int *p,i;
p=A;sort(p,SIZE)
for(p=A;i<SIZE;i++)
{
printf("%d",*p);
p++;
}
}
sort(int *x,int n)
{
int i,j,k,t;
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
if (*(x+i)<(x+k))
k=j;
if(k!=i)
{
t=*(x+i);*(x+i)=*(x+k);*(x+k)=t;
}
}
}
这样应该可以。
我没运行。可以试下。