在主函数里先输入学生人数N,再输入N个学生各自的学习成绩.特别注意的是这些学生 的成绩已经按照从小到大的顺序排序,最后输入一个新来的同学的成绩x. 要求编写函数int MyInsert(int *a, intN, int x),将新同学的成绩插入到数组中, 使数组仍然有序排列.最后在主函数里输出所有学生的成绩. input: 5 60 70 80 90 100 85 output: 60 70 80 85 90 100
函数接口定义:
void MyInsert(int *a, int N,int x);
在这里解释接口参数。例如:其中 a
是指向整型数的指针, N表示数组的元素数目,是整型数, x是待插入的数,也是一个整型数。
裁判测试程序样例:
#include<stdio.h>
void MyInsert(int *a, int N,int x);
int main()
{
int N,a[200],x,i;
scanf("%d",&N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
scanf("%d",&x);
MyInsert(a,N,x);
for(i=0;i<N+1;i++)
printf("%d ",a[i]);
return 0;
}
// 你的代码将被嵌在这里
输入样例:
5
60 70 80 90 100
85
结尾无空行
输出样例:
60 70 80 85 90 100
结尾无空行
void MyInsert(int *a, int N,int x)
{
int i,j,k;
for(i=0;i<N+1;i++)
{
if(x<a[i])
{
for(j=N;j>i-1;j--)
{
a[j]=a[j-1];
}
a[i]=x;
break;
}
else
{
a[N]=x;
}
}
}