结果总是不合适
#include <stdio.h>
void input(int a[],int n);
void choose(int a[],int n);
void print(int a[],int n);
int main(void)
{
int n,a[10];
printf("输入变量n的值:(n<=10):");
scanf("%d",&n);
printf("输入%d个数组元素:",n);
input(a,n);
choose(a,n);
printf("排序之后:%d",n);
print(a,n);
printf("\n");
}
void input(int a[],int n)
{
int i;for(i=0;i<n;i++)
scanf("%d",&a[i]);
}
void choose(int a[],int n)
{
int i,j,k,t;for(i=0;i<(n-1);i++)
{
k=i;
for(j=i+1;j<n;j++)
if(a[j]<a[k])k=j;
t=(a+i),a[i]=(a+k),a[k]=t;
}
}
void print(int a[],int n)
{
int i;for(i=0;i<n;i++)
{
int i;for(i=0;i<(n-1);i++)
printf("%3d",a[i]);
}
}
这个程序运行下来结果老不合适,谁能帮帮我😭
void input(int a[],int n);
void choose(int a[],int n);
void print(int a[],int n);
int main(void)
{
int n,a[10];
printf("输入变量n的值:(n<=10):");
scanf("%d",&n);
printf("输入%d个数组元素:",n);
input(a,n);
choose(a,n);
printf("排序之后:");
print(a,n);
printf("\n");
system("pause");
return 0;
}
void input(int a[],int n)
{
int i;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
}
void choose(int a[],int n)
{
int i,j,k,t;
for(i=0;i<(n-1);i++)
{
k=i;
for(j=i+1;j<n;j++)
if(a[j]<a[k])
k=j;
t=*(a+i),a[i]=*(a+k),a[k]=t;
}
}
void print(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
// int i;for(i=0;i<(n-1);i++)
printf("%3d",a[i]);
}
}
不合适是什么?你预期的结果是什么