本题是2021年中国海洋大学研究生入学考试930程序设计基础编程题第1题。
题目:
请编写程序实现:从键盘输入m个数,将其存放在数组中,并将这m个数中的最小值与第一个数交换,输出交换后的m个数。其中,m的值和m个数由键盘输入。(10分)
以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj。QQ:2394799692
思路:
1,首先输入m的值,然后再输入m个数,可以使用for循环加一维整型数组实现。
2,实现题目要求的最小值与第一个数交换,先遍历整个数组找到最小数的下标,然后进行数据的交换。
3,将交换完的数组进行输出即可。
代码如下(示例):
#include<stdio.h>
代码如下(示例):
void findmin(int a[],int m) { int min = 0; for (int i = 0; i < m; i++) if (a[min] > a[i]) min = i;//找出最小数的下标 int t = a[min]; a[min] = a[0]; a[0] = t;//最小值与第一个数交换 } void main() { int m; int a[128]; printf("请输入m的值,用于代表你接下来需要输入几个数:"); scanf("%d", &m); int i; printf("请输入%d个整数:",m); for (i = 0; i < m; i++) scanf("%d", &a[i]); findmin(a,m); printf("交换后的数组为:"); for (i = 0; i < m; i++) printf("%d ", a[i]); }
输入:
请输入m的值,用于代表你接下来需要输入几个数:5 请输入5个整数:5 4 3 2 1
输出:
交换后的数组为:1 4 3 2 5