从键盘上输入一组数据,找出这组数据中的最大数与最小数,将最大数与最小数位置互换,并将互换后的数据再次输出。
首先从键盘接收一组数据然后找到最大值和最小值这个是比较简单的。
ok,上代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include<stdio.h> void main() { int a[10],max,min,i; printf ( "请输入10个数:\n" ); for (i=0;i<10;i++) //这里是循环输入 scanf ( "%d" ,&a[i]); max=a[0]; min=a[0]; for (i=1;i<10;i++) //进行循环比较 { if (max<a[i]) max=a[i]; if (min>a[i]) min=a[i]; } printf ( "\n最大值为:%d" ,max); printf ( "\n最小值为:%d\n" ,min); } |
交换两个数,直接max=min是不可取的,所以要添加一个中间变量‘ t ’,然后有三个变量就可以进行交换了,
1
2
3
|
t = max; //注意开头是新定义的变量 max=min; min = t; //上一行的结尾要是下一行的开头 |
ok了。看一下完整代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include<stdio.h> void main() { int a[10],max,min,i,t; printf ( "请输入10个数:\n" ); for (i=0;i<10;i++) scanf ( "%d" ,&a[i]); max=a[0]; min=a[0]; for (i=1;i<10;i++) { if (max<a[i]) max=a[i]; if (min>a[i]) min=a[i]; } printf ( "\n最大值为:%d" ,max); printf ( "\n最小值为:%d\n" ,min); { t=max; max=min; min=t; printf ( "\n交换后的最大值为:%d" ,max); printf ( "\n交换后的最小值为:%d\n" ,min); } } |
vc++:
结果:
这个还是比较简单的。
到此这篇关于C语言互换最大值与最小值的位置的文章就介绍到这了,更多相关C语言最大值与最小值内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/DeclanZy/article/details/122649279