1、编写一个程序实现如下功能,要求调用函数实现。 1)从键盘上输入10个整数存入一数组中,将它们按照从

1、编写一个程序实现如下功能,要求调用函数实现。
1)从键盘上输入10个整数存入一数组中,将它们按照从小到大的顺序排列起来,输出排列后的数组值;
2)输入一个数x,查找该数是数组中的第几个元素的值。若不在,则将x插入到相应位置,插入后数组仍有序。

第1个回答  2013-05-25
#include<stdio.h>

void Sequence(int str[],int N)
{
int i,j,s;
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
{
if(str[i]>str[j])
{
s=str[i];
str[i]=str[j];
str[j]=s;
}
else continue;
}
printf("排序后的数据顺序为:\n");
for(i=0;i<N;i++)
printf("%d ",str[i]);
printf("\n");
}
void Search(int str[],int x)
{
int i,j=11;
for(i=0;i<10;i++)
if(x==str[i])
{
printf("要查找的元素在数组中的第%d位。\n",i+1);
j=i;
break;
}
if(j==11)
{
printf("数组中没有%d,将%d插入数组重新排序。\n",x,x);
str[10]=x;
Sequence(str,11);
}
}
int main()
{
int str[11];
int i,x;
printf("输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",&str[i]);
Sequence(str,10);
printf("输入要查找的数据x:\n");
scanf("%d",&x);
Search(str,x);
return 0;
}

我在编译器上运行了,可以达到你要求的效果。哪里不懂的话再问我。
相似回答