[程序填空] 功能:任意输入10个数,输出其中的最小数:最小数与最后面的数互换后,输出10个数。 #include<stdio .h> void ft(int ff[],int m) { int j ,min,p,t; _____; for(j=1;j<m;j++) if(min>ff[j]){min=ff[j]j____;} printf("\nmin=%d, p=%d\n", min,p); t=ff[9] ;_____;ff[p]=t; printf("输出调换之后的数组: "); for(j=0;j<10;j++) printf("%d",ff[j]); } main() {int a[10],i; for(i=0;i<1g;i++) scanf("%d", &a[i]); for(i=0;i<10;i++) printf(" %d ",a[i]); ft(a,10); }
时间: 2023-12-09 18:06:14 浏览: 32
答案如下:
```c
void ft(int ff[], int m) {
int j, min, p, t;
min = ff[0]; // 填空1
p = 0; // 填空2
for (j = 1; j < m; j++)
if (min > ff[j]) {
min = ff[j];
p = j;
}
printf("\nmin=%d, p=%d\n", min, p);
t = ff[9];
ff[9] = ff[p]; // 填空3
ff[p] = t;
printf("输出调换之后的数组: ");
for (j = 0; j < 10; j++)
printf("%d", ff[j]);
}
```
解析:
该程序的主要思路是先找到数组中的最小值及其下标,然后将最小值与数组的最后一个元素进行交换,最后输出交换后的数组。
在具体实现时,需要在函数 `ft()` 中填写三个空。第一个空需要将最小值初始化为数组的第一个元素 `ff[0]`。第二个空需要将最小值的下标初始化为 0。第三个空则需要将最小值与数组的最后一个元素 `ff[9]` 进行交换,而交换时需要注意先用一个变量 `t` 存储 `ff[9]` 的值,以免在交换过程中数据丢失。
相关问题
以下程序的功能是输入三个数, 输出三个数中的最大值。请填空。
def max_of_three(a, b, c):
if a > b and a > c:
return a
elif b > a and b > c:
return b
else:
return c
print(max_of_three(3, 7, 5)) # 输出7
程序填空 题目:在数组内实现逆序输出
下面是一种实现方法,可以借助一个额外的数组来存储逆序输出的结果:
```python
arr = [1, 2, 3, 4, 5]
n = len(arr)
result = [0] * n # 创建一个长度为n的全0数组
for i in range(n):
result[n-1-i] = arr[i] # 将arr中的元素逆序存入result中
print(result) # 输出逆序结果
```
输出结果为:`[5, 4, 3, 2, 1]`