C语言编程题,求大神解答

编写程序,对一组数据{1,-20,31,14,29,7,-1,-4,12,16}进行处理,将正数放在数组左侧,负数放在数组右侧。要求初始化数组,输出原始数组和处理后的数组... 编写程序,对一组数据{1,-20,31,14,29,7,-1,-4, 12,16}进行处理,将正数放在数组左侧,负数放在数组右侧。要求初始化数组,输出原始数组和处理后的数组。 展开
 我来答
紫薇参星
科技发烧友

2020-06-19 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3536万
展开全部

为达到题目要求将正数放在数组左侧,负数放在数组右侧,只需要将数组降序排序,就行了.

完整的C语言程序如下

#include<stdio.h>

void bubblesort(int a[],int n){

 int i,j,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 i,a[]={1,-20,31,14,29,7,-1,-4, 12,16};

 printf("原始数组:");

 for(i=0;i<10;i++){

  printf("%d ",a[i]);

 }

 printf("\n");

 bubblesort(a,10);

 printf("处理后的数组:");

 for(i=0;i<10;i++){

  printf("%d ",a[i]);

 }

 return 0;

}

小黑哎啊
科技发烧友

2020-06-22 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:1642
采纳率:74%
帮助的人:351万
展开全部

#include<stdio.h>

int main()

{

int a[111];

int k=0,t;

do{

scanf("%d",&a[k++]);//k计数 

}while(getchar()!='\n');//回车结束输入 

for(int i=0;i<k-1;i++)

for(int j=i;j<k;j++)

if(a[i]<0&&a[j]>0)//交换条件 

{

t=a[i];

a[i]=a[j];

a[j]=t;

}

for(int i=0;i<k;i++)

printf("%d ",a[i]);

return 0;

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HuangY0n9
2020-06-18
知道答主
回答量:24
采纳率:0%
帮助的人:1.4万
展开全部
这么些感觉也不知道该如何表达的结果都一样?在家里面没有任何的地方没有人能够在一起了。你要我去。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式