...使其插入后,数组s仍然有序,编写函数完成。在主函数中输入数组s和...
发布网友
发布时间:2024-10-04 16:10
我来回答
共3个回答
热心网友
时间:2024-11-14 11:18
#include<stdio.h>
void m(int s[],int x)
{
int k,j;
for(k=0;k<5;k++) //判断要插入的地方
{
if(x<s[k]) break;
}
for(j=5;j>=k;j--)
{
s[j]=s[j-1];
}
s[k]=x;
}
void main()
{
// int m(int s[],int x); //定义函数不是在这里定义的,是要在main()函数前面有这个函数就可以了
int a[10];
int i,p;
printf("input 5 nums:");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("input a num p:");
scanf("%d",&p);
m(a,p);
for(i=0;i<6;i++)
printf("%d",a[i]);
}
热心网友
时间:2024-11-14 11:21
m(a[10],p);
这里错了
这里a[10]是一个数
而你的函数设置的是一个数组
热心网友
时间:2024-11-14 11:23
你的程序连编译都过不了
首先main函数里面是不能有声明语句的:int m(int s[],int x);应该把这句放在#include #include<stdio.h>之后
语句m(a[10],p);中,数组只要传递名称就可以了,应为m(a,p)
void main()最好写成int main(void),再在main函数结尾加上return 0;
PS:函数int m(int s[],int x),中涉及数组,建议添加参数来传递数组的长度。