往油箱里加水:C语言编程题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/09 09:08:30
编写函数void fun(int *a, int n, int y),它的功能是: 把y值插入到有
n个数的a数组中,a数组中的数已按由大到小的次序排好, y的值从键盘
读入. 插入后, 数组中的数仍然有序. 对照下面三种情况运行程序:
1) 插在最前 2) 插在最后 3) 插在中间
若输入数11, 输出 20 18 16 14 12 11 10 8 6 4 2
输入数1, 输出 20 18 16 14 12 10 8 6 4 2 1
输入数33, 输出 33 20 18 16 14 12 10 8 6 4 2 */
#include <stdio.h>
void fun(int *a,int n,int y)
{
}
main()
{int i,a[11]={20,18,16,14,12,10,8,6,4,2},x;
void fun(int *,int n,int y);
scanf("%d",&x);
fun(a,10,x);
for(i=0;i<11;i++)
printf("%d ",*(a+i));
}

#include "stdio.h"
void fun(int *a,int n,int y)
{
int i,k;
for(i=0;i<n;i++)
{
if(y>a[i])
{
for(k=n+1;k>i;k--)
a[k]=a[k-1];
a[i]=y;
}
break;
}
if(y<a[n-1])a[n]=y;
}