C语言编程:按绝对值排序 求大神啊。
答案:3 悬赏:20 手机版
解决时间 2021-11-27 06:15
- 提问者网友:两耳就是菩提
- 2021-11-27 01:12
C语言编程:按绝对值排序 求大神啊。
最佳答案
- 五星知识达人网友:洒脱疯子
- 2021-11-27 02:01
#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
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
全部回答
- 1楼网友:摆渡翁
- 2021-11-27 03:02
#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("
");
}
#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
{
t=a[i];a[i]=a[j];a[j]=t;
}
printf("n=%d ",n);
printf("排序后: ");
for(i=0;i
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯