解题思路:先读入这多个无序数将其放入数组里,然后for循环遍历数组求出来无序数中的最大的那一个max。接下来同样遍历求出来最小的值min,每次求出来一个数组的最小值就输出,之后标记这个最小值在数组中的位置然后将max+t(t初始值为1,每次运算之后t++)值赋给这个最小值。
注意事项:
参考代码:
// 读入 4 85 3 234 45 345 345 122 30 12//
#include <stdio.h>
int main()
{ int b,c,k,j,count=0,t=1;int a[10];
//读入所要排序的数//
do{scanf("%d",&a[count]);
count++;
} while(count<10);
//求出来数组的最大值//
int max=a[0];
for(b=0;b<sizeof(a)/sizeof (a[0]);b++){
if(max<a[b]) {max=a[b];
}}
// 求出来最小值,每次求出来最小值后将该最小值对应在数组中的值变为max+t,保证其不影响后续求值//
for(j=0;j<sizeof(a)/sizeof (a[0]);j++) {
int min=a[0];
for(k=0;k<sizeof(a)/sizeof (a[0]);k++){
if(min>=a[k]) {min=a[k];c=k;} }
a[c]=max+t;t++;
printf("%d\n",min);
}
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复