#include<stdio.h>
#include<math.h>
int main(void)
{
    int i,t,m,a[10];
    for(i=0;i<10;i++)
    {
        scanf("%d",a+i);
    }
    t=0;m=fabs(a[0]);
    for(i=0;i<10;i++)
    if((int)fabs(a[i])<m)t=i,m=(int )fabs(a[t]);
    m=a[t],a[t]=a[9],a[9]=m;
    for(i=0;i<10;i++)
    printf("%d ",a[i]);
    return 0;
}

解题思路:





注意事项:





参考代码:

点赞(0)
 

0.0分

3 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 9 条评论

杨少 5年前 回复TA
@杨少 @blackmoth 错误百分之五十
杨少 5年前 回复TA
@杨少 错了错了,好的好的谢谢
杨少 5年前 回复TA
@杨少 @blackmoth 我置换是没错的呀
黑飞蛾 5年前 回复TA
@杨少 这是改了之后的你自己琢磨琢磨吧
黑飞蛾 5年前 回复TA
@杨少 #include <stdio.h> int main() { 	int a[10]; 	int i, min, m, t; 	for (i = 0; i < 10; i++) 	{ 		scanf("%d", &a[i]); 	} 	min = a[0]; 	for ( i = 0; i < 10; i++) 	{ 		if (a[i] < min) 		{ 			min = a[i]; 			m = i; 		} 	} 	t = a[9]; 	a[9] = a[m]; 	a[m] = t; 	for (i = 0; i < 10; i++) 		printf("%d ", a[i]); 	return  0; }
黑飞蛾 5年前 回复TA
@杨少 这,你比一次就换一次位置,位置全乱了
黑飞蛾 5年前 回复TA
@杨少 for (m = 0, i = 0; i < 10; i++) 	{ 		if (a[i] < min) 		{ 			min = a[i]; 			m = i; 		} 		t = a[9]; 		a[9] = a[m]; 		a[m] = t;
黑飞蛾 5年前 回复TA
for (m = 0, i = 0; i < 10; i++)
	{
		if (a[i] < min)
		{
			min = a[i];
			m = i;
		}
		t = a[9];
		a[9] = a[m];
		a[m] = t;
杨少 5年前 回复TA
大佬帮我看下我这样为什么不对啊
#include <stdio.h>
int main()
{
	int a[10];
	int i,min,m,t;
	for(i=0;i<10;i++)
	{	
	scanf("%d",&a[i]);
	}
	min=a[0];
	for(m=0,i=0;i<10;i++)
	{
	if(a[i]<min)
	{
	min=a[i];
	m=i;
	} 
	t=a[9];
	a[9]=a[m];
	a[m]=t;
}
	printf("%d\n",min);
	for(i=0;i<10;i++)
	printf("%d ",a[i]);
	return  0;
 }