中国海洋大学上机考试题2016春季学期 答案2333(2)
时间:2025-07-15
时间:2025-07-15
}
else break;
}
}
p[j]=k;
p[j+1]=-1; }
int main()
{ int x,a[17]={0},i;
do{ printf("Enter a number(2-32767):");
scanf("%d",&x);
}while(x<2);
fun(x,a);
for(i=0;a[i]!=-1;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
3. 编写函数void fun(int *x,int n),功能是:求出长度为n的数组x中的最大数与次最大数,并
把最大数和a[0]对调,次最大数与a[1]对调,其余的数保持不变。下面程序运行时若输入:2 4 6
1 3 9 7 0 5 8,则输出:9 8 6 1 3
2 7 0 5 4。
#include<stdio.h>
#define N 10
void fun(int *x,int n)
{int i,j,k,t;
for(i=0;i<=1;i++)
{ j=k=i;
for(;j<n;j++)
{ if(*(x+k)<*(x+j)) k=j; }
t=*(x+i);*(x+i)=*(x+k);*(x+k)=t;
}
}
int main()
{int a[N],i;
for(i=0;i<N;i++)
scanf("%d",a+i);
fun(a,N);
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
4. 数组x中保存有n个整数,编写函数int fun(int *x,int n,float *w),对数组x进行如下操作:
从第0个元素起对每5个元素求一个平均埴,并将这些均值依次存放在w所指的数组中。函数返回平均值的个数。例如:若输入n为14,14个数据为:11 21 35 24 55 16 27 58 18 0 11 12 13 14,则只为前10个求均值,输出结果为:29.20 23.80
#include<stdio.h>
int fun(int *x,int n,float *w)
2
上一篇:体育经济与管理专业大学排名
下一篇:国庆作业 世界古代史试题