(1)第一步应分析要求,选择合适的结构设计流程图。
例如:本设计采用 结构。(注意选择的结构和下面自己编写的程序对应。)
采用循环结构,遍历这10个无符号数,找到最小的。
不知道你这个问题是否已经解决, 如果还没有解决的话:#include <stdio.h>
void printArr(int a[], int length)
{
int i;
for (i = 0; i < length; i++)
{
printf("%d ", a[i]);
}
puts("\n");
}
int main()
{
int array[11];
int i, j, k, temp;
for (j = 1; j < 11; j++) // 从1开始写数,说明下标0的位置没有数默认值为0
scanf("%d", &array[j]);
// 自己加的为了显示效果
puts("初始数组:");
printArr(array, 11);
for (j = 1; j < 10; j++)
{
for (k = 1; k < 11 - i; k++)
{
if (array[k] < array[k + 1])
{
temp = array[k];
array[k] = array[k + 1];
array[k + 1] = temp;
}
}
}
// 自己加的为了显示效果
puts("排序后数组:");
printArr(array, 11);
return 0;
}
result:
1 2 3 4 5 6 7 8 9 10
初始数组:
0 1 2 3 4 5 6 7 8 9 10
排序后数组:
0 10 9 8 7 6 5 4 3 2 1
注意:是从大到小排序,交换的顺序需要注意,当前项小于后项时就交换,把大的放到前面。
冒泡排序:
外循环:数组长度 - 1
内循环:数组长度 - 第几轮的外循环;当外循环初值为0时,需要再-1,因为下标为0时也是一轮排序,而 数组长度- 0起不到效果,需要数组长度 - 0 - 1
问题分析: 这个问题需要我们编写一个程序来查找一个由16位无符号整数组成的数组中的最小值,并将其存入变量MIN。我们需要使用循环来逐个比较数组中的每个数字,从而找到最小的那个。最后将最小值保存到变量MIN中即可。
解决方案: 以下是为您编写的程序,包含了注释以帮助您理解每一步骤:
# 提示信息
print("请输入16位无符号整数数组:")
# 输入数组
arr = [int(input()) for _ in range(10)]
# 初始最小值为数组的第一个元素
min_val = arr[0]
# 遍历数组中的每一个元素
for num in arr:
# 如果当前元素比最小值还小,更新最小值为当前元素
if num < min_val:
min_val = num
# 输出最小值
print("最小值为:", min_val)
程序的运行效果如下所示:
请输入16位无符号整数数组:
6
9
3
8
4
7
0
2
5
1
最小值为: 0
希望本解决方案对您有所帮助!