永发信息网

C语言编程:按绝对值排序 求大神啊。

答案:3  悬赏:20  手机版
解决时间 2021-11-27 06:15
C语言编程:按绝对值排序 求大神啊。
最佳答案
#include 
 
int abs_val(int x);
 
int main(void)
{
  int a[10], n, temp, i, j;
  
  scanf("%d", &n);
  for (i = 0; i < n; ++i)
    scanf("%d", &a[i]);
    
  
  for (i = n - 1; i >= 1; --i) {
    for (j = 0; j < i; ++j) {
      if (abs_val(a[j]) > abs_val(a[j + 1])) {
        temp = a[j];
        a[j] = a[j + 1];
        a[j + 1] = temp;
      }

      else if (abs_val(a[j]) == abs_val(a[j + 1]) && a[j] > a[j + 1])
       
      {
        temp = a[j];
        a[j] = a[j + 1];
        a[j + 1] = temp;        
      } 
    }
  }
  
  for (i = 0; i < n; ++i)
    printf("%d ", a[i]);
  printf("
");
  
  return 0;
}
 
int abs_val(int x) 
{
  return x > 0 ? x : -x;

这个程序是键盘输入,屏幕输出。
如果你有进一步的问题,愿意的话,可以把QQ告诉我,我加你QQ
全部回答
#include
#include "math.h"
#define N 99       
void main()
{
    int i,a[N],t,j,n,b,k=0;
scanf("%d",&n);
for(i=0;1==1;i++)
{
scanf("%d",&a[i]);
k++;        //计算输入个数
if (getchar()==' ') break; //遇回车中断
}

      
   for(j=1;j        for(i=0;i            if(fabs(a[i])>fabs(a[j]))            //与a[i]后面的元素进行比较
            {
                t=a[i];a[i]=a[j];a[j]=t;
            }
printf("n=%d ",n); 
            printf("排序后: ");
for(i=0;i            printf(" ");
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
钟表是谁发明的 钟表是什么时候发明的
决明子、百合、桑叶、桑椹绿茶一同饮用的功效
k188次列车途经站点怎么不停济南啊
安装完cdr2017打开后出现无法显示此页 是为什
帮忙把纯黑白照片变成彩色的,1寸红底彩色免
南京的艾米1895电影街有没有两人的小包间?多
联通后付费、预付费以及OCS预付费是什么意思
大鹅喂养用什么工具具喂水
戴尔电脑,当屏幕出现“缺少根元素”怎么办
为什么在减一前期联会之后的一对同源染色体才
鱼塘老板坑我怎样报复
山的背上也有一座山,是不是山妈妈背着她的儿
上胸围116下胸围90穿多大
我想做手办的模型,请问沈阳有没有厂家销售硅
洪旭眼镜地址好找么,我有些事要过去,
推荐资讯
浙江省诸暨荣怀学校怎么样
l985年阴历4月初4是什么星座
该几何体的体积为(3/4) ,请大神帮我画一
送外卖怎么做 要用什么软件
歌曲中有Lisgo的歌词,歌曲开头是叮咚叮 叮咚
艾贝宠物诊所地址好找么,我有些事要过去,
谁知道网上怎么查到国标啊 急求!!
求这句日语我累哇因给亚蜜露锁,萨恰!
各位老师德国直纹红松石好还是德国的直纹绿松
220v2.5平方带多少千瓦?
不经常吸二手烟会怎么样?每周大约3到4次。
活得像个笑话怎么样
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?