解题思路:用b数组保存数组a的绝对值,
找出最大值后,进行交换.
注意事项:
参考代码:
#include <stdio.h> #include <math.h> int main () { int i,j,n,max,t; int a[100],b[100]; while(scanf("%d",&n)!=EOF) { if(n==0) return 0; for(i=0;i<n;i++) { scanf("%d",&a[i]); b[i]=abs(a[i]);//用另一个数组保存 } for(i=0;i<n;i++) { max=i; for(j=i+1;j<n;j++) { if(b[max]<b[j]) max=j; } t=b[max]; b[max]=b[i];b[i]=t;//找出最大值并交换,数组a也要交换 t=a[max]; a[max]=a[i];a[i]=t; } for(i=0;i<n;i++) { printf("%d ",a[i]); } printf("\n"); } return 0; }
0.0分
0 人评分
C语言训练-计算1~N之间所有奇数之和 (C语言代码)浏览:655 |
WU-蓝桥杯算法提高VIP-企业奖金发放 (C++代码)浏览:1176 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:262 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:569 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:564 |
简单的a+b (C语言代码)浏览:950 |
C二级辅导-同因查找 (C语言代码)浏览:568 |
Hello, world! (C语言代码)浏览:826 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:956 |
简单的a+b (C语言代码)浏览:462 |