关于C语言,编写一个函数
要求是这样的,写一个函数intfun(a[],n,b[],c[])把a中大于-20的数赋值给b,将b排序放在C中,函数返回的是b元素的个数,a[10]={12,-10,-...
要求是这样的,写一个函数 int fun(a[],n,b[],c[]) 把a 中大于-20的数赋值给b,将b排序放在C中,函数返回的是b元素的个数,a[10] = {12, -10, -31, -18, -15, 50, 17, 15, -20, 20};主函数输出a,b,c;
展开
1个回答
2011-12-22
展开全部
#include <stdio.h>
int fun(int a[],int n,int b[],int c[])
{
int i,j,count=0,temp;
for(i=0;i<n;i++)
{
if(a[i]>-20)
{
b[count]=a[i];
c[count]=a[i];
count++;
}
}
for(i=0;i<count;i++)
for(j=0;j<count;j++)
if(c[i]>c[j])
{
temp=c[i];
c[i]=c[j];
c[j]=temp;
}
return count;
}
void main()
{
int a[10] = {12, -10, -31, -18, -15, 50, 17, 15, -20, 20};
int b[10]={0},c[10]={0};
int count,i;
for(i=0;i<10;i++)
printf("%d\t",a[i]);
printf("\n");
count = fun(a,10,b,c);
for(i=0;i<count;i++)
printf("%d\t",b[i]);
printf("\n");
for(i=0;i<count;i++)
printf("%d\t",c[i]);
printf("\n");
}
int fun(int a[],int n,int b[],int c[])
{
int i,j,count=0,temp;
for(i=0;i<n;i++)
{
if(a[i]>-20)
{
b[count]=a[i];
c[count]=a[i];
count++;
}
}
for(i=0;i<count;i++)
for(j=0;j<count;j++)
if(c[i]>c[j])
{
temp=c[i];
c[i]=c[j];
c[j]=temp;
}
return count;
}
void main()
{
int a[10] = {12, -10, -31, -18, -15, 50, 17, 15, -20, 20};
int b[10]={0},c[10]={0};
int count,i;
for(i=0;i<10;i++)
printf("%d\t",a[i]);
printf("\n");
count = fun(a,10,b,c);
for(i=0;i<count;i++)
printf("%d\t",b[i]);
printf("\n");
for(i=0;i<count;i++)
printf("%d\t",c[i]);
printf("\n");
}
追问
有一点不明白,b,c初始化赋值为0,为什么对以后的排序,没有影响,可以直接用b[i]=a[i];c[i]=a[i]
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询