#include <stdio.h>
#define N 10
int main()
{
void qppx();
void xzpx();
void zbcz();
int w,loop=1;
printf("1 选择排序法\n");
printf("2 起泡排序法\n");
printf("3 退出程序\n");
printf("请选择,输入选项前面的数字后回车: ");
scanf("%d",&w);
while(loop)
{
switch(w)
{ case 1:qppx();
break;
case 2:xzpx();
break;
case 3: loop=0;
break;
default: break;
}
}
return 0;
}
void input()
{
int a[N],i;
printf("请任意输入10个整数:\n");
for(i=0;i<N;i++)
{
printf("%d:",i+1);
scanf("%d",&a[i]);
}
}
void zbcz()
{
int a[N],n,sign,x,y,l,mid;
printf("请输入要查找的数字:");
scanf("%d",&n);
sign=0;
x=0;
y=N-1;
if((n<a[0])||(n>a[N-1]))
l=-1;
while((!sign)&&(x<=y))
{
mid=(x+y)/2;
if(n==a[mid])
{ l=mid;
printf("%d是第%d个元素的值\n",n,l+1);
sign=1;
}
else if(n<a[mid])
y=mid-1;
else
x=mid+1;
}
}
void qppx()
{
int a[N],i,j,temp,k;
input();
for(j=0;j<N-1;j++)
{
k=0;
for(i=0;i<N-1-j;i++)
{
if(a[i]>a[i+1])
{ k=1;
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
if(k==0) break;
}
printf("10个整数由小到大排列按顺序输出为:\n");
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("\n");
zbcz();
}
void xzpx()
{
int i,j,k,t,b[N];
input();
for(i=0;i<N;i++)
{ k=0;
for(j=i+1;j<N;j++)
{
if(b[j]<b[i])
{ k=1;
t=b[j];
b[j]=b[i];
b[i]=t;
}
}
}
printf("10个整数由小到大排列按顺序输出为:\n");
for(i=0;i<N;i++)
printf("%d ",b[i]);
printf("\n");
zbcz();
}
在下初学菜鸟,可能犯了很弱智的错误,求教各位大神_(:з」∠)_
程序里少声明了一个void input();
但是加上还是没用
试了也没有用orz
追答/**#include
#define N 10
void input();
void qppx();
void xzpx();
void zbcz();
int main()
{
……
return 0;
}
请问是这个意思吗?因为写不下了所以把后边的删了 可这样还是不行啊……
把类型改成int试试