将A数组中大于0的元素放入B数组中,将B数组中的元素从小到大排序后放入C数组中,并反回元素个数

来源:百度知道 编辑:UC知道 时间:2024/07/04 07:37:51
#include <string.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
int fun2(int a[],int n,int b[],int c[])
{
下面部分所填错在哪,为什么?
/**/
int i,j,num=0,tem;
for(i=0;i<n;i++)
if(a[i]>0) {b[i]=a[i];num=num+1;}
for(j=1;j<n;j++)
for(i=0;i<n-j;i++
if(b[i]>b[i+1]) {tem=b[i];b[i]=b[i+1];b[i+1]=tem;}
c[i]=b[i];
return(num);
/**/
}
void main()
{ int n = 10, i, nb;
int aa[10] = {12, -10, -31, -18, -15, 50, 17, 15, -20, 20};
int bb[10], cc[10];
clrscr();
printf("Number of array aa: %3d\n", n);
printf("The array aa is: ");
for(i=0; i<n; i++) printf("%6d", aa[i]);
printf("\n");
nb = fun2(aa, n, bb, cc);
printf("The array bb is: ");
for (i=0; i<nb; i++) printf("%6d", bb[i]);
printf("\

其实也没什么错误,就是冒泡排序的地方出了问题.我这里吧源码贴给你。
bbs.p-mind.cn 编程语言论坛.

#include <string.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>

int fun2(int a[],int n,int b[],int c[]);
int fun2(int a[],int n,int b[],int c[])
{
/**/
int i,j,num=0,tem;
for(i=0;i<n;i++){
if(a[i]>0) {
b[num]=a[i];
num=num+1;
}
}

for(i=0;i<num-1;i++)
{
for(j=0;j<num-1-i;j++)
{
if(b[j] > b[j+1])
{
tem = b[j];
b[j] = b[j+1];
b[j+1] = tem;

}

}
}
int len = sizeof(b);
for(j=0;j<len+1;j++)
c[j] = b[j];
return(num);
/**/
}
int main()
{

输入100个数值数据放入数组a.将整数放入数组b,然后分类将数组b中的数按大小排列,每行5个数据输出 将整型数组中所有小于0的元素放到大于0的元素前面(采用最优算法) 编程输入整型二维数组a[6][6],找出其中值最大的元素,并将该最大元素与数组中最后一个元素交换后输出该数 matlab中如何将一个数放入数组 请编程实现将数组a中元素的值进行如下方请编程实现将数组a中元素的值进行如下方 从键盘输入10个整数存到整型数组a中,然后统计并输出大于平均值的元素个数,并输出大于平均值的所有元素 将二维数组 a表示的矩阵转置存b中,并输入a和b。 C语言将字符数组a中下标为偶数的元素从小到大排列 将用二维数组表示的矩阵转置存入b中,输出a,b 输入20个实数到a的数组中,分别统计出大于0和小于0的数的个数.C语言