下面的程序为什么只能循环一次 20
#include<stdio.h>#defineMAX_SIZE101intget_array(inta[]){inti,n;while(scanf("%d",&n)!=...
#include<stdio.h>
#define MAX_SIZE 101
int get_array(int a[])
{
int i,n;
while(scanf("%d",&n)!=EOF)
{
for (i=0; i<n; i++)
{
scanf("%d", &a[i]);
}
return n;
}
}
int put_array(int a[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
int sort_array(int a[], int n)
{
int i,j,k,t;
for(i=0;i<n;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
int main()
{
int array[MAX_SIZE], size;
size = get_array(array);
sort_array(array, size);
put_array(array, size);
return 0;
}
为什么只循环一次 展开
#define MAX_SIZE 101
int get_array(int a[])
{
int i,n;
while(scanf("%d",&n)!=EOF)
{
for (i=0; i<n; i++)
{
scanf("%d", &a[i]);
}
return n;
}
}
int put_array(int a[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
int sort_array(int a[], int n)
{
int i,j,k,t;
for(i=0;i<n;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
int main()
{
int array[MAX_SIZE], size;
size = get_array(array);
sort_array(array, size);
put_array(array, size);
return 0;
}
为什么只循环一次 展开
展开全部
那是因为你的主函数只设置了一次运行,如果改成这样,就可以一直循环了。
int main()
{
int array[MAX_SIZE], size;
while(1){//增加一个循环
size = get_array(array);
sort_array(array, size);
put_array(array, size);
}
return 0;
}
追问
题目是编写函数 主函数不能变
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询