永发信息网

编写一个C语言程序:输入10个整数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。

答案:2  悬赏:0  手机版
解决时间 2021-03-29 12:45
  • 提问者网友:心牵心
  • 2021-03-29 02:03
编写一个C语言程序:输入10个整数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。
最佳答案
  • 五星知识达人网友:想偏头吻你
  • 2021-03-29 02:51

#include 
#include 
void main ()

    int i,a[10] ={0},jdz=0,k=0,tmp=0;
for (i=0;i<10;i++)
{
scanf("%d",&a[i]);
if (i==0)
{
jdz = a[i];
}else
{
if (abs(jdz)>abs(a[i]))
{
jdz = a[i];
k=i;
}
}
}
tmp = a[k];
a[k] = a[9];
a[9] = tmp;
for (i=0;i<10;i++)
{
printf("%d ",a[i]);
}
}
-1
-2
4
-5
-6
3
5
-6
-4
4
4 -2 4 -5 -6 3 5 -6 -4 -1 Press any key to continue
全部回答
  • 1楼网友:动情书生
  • 2021-03-29 04:18
#include
#include
int main()
{
int num[10];
// 输入10个数
printf("Input 10 integers:\n");
for (int i = 0; i < 10; ++i)
scanf("%d", &num[i]);

// 找出最小绝对值的值下标
int fmax = abs(num[0]); // 取首个数的绝对值
int index = 0; // 标记最小绝对值的标
for (int i = 0; i < 10; ++i) // 依次比较
if (fmax > abs(num[i])) {
fmax = abs(num[i]);
index = i; // 标记该值
}

// 交换标记的值和最后一个值
int t = num[index];
num[index] = num[9];
num[9] = t;

// 输出所有的数
for (int i = 0; i < 10; ++i)
printf("%d\t", num[i]);

return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯