下面程序的功能是从键盘输入10个整数,用函数编程实现计算其最大值和最小值,并互换它们所在数组中的位置。程序运行结果如下:
Input n(n<=10):10↙
Input 10 Numbers:1 4 3 0 –2 6 7 2 9 -1 ↙
Exchange results: 1 4 3 0 9 6 7 2 -2 -1
按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
#include
void ReadData(int a[], int n);
void PrintData(int a[], int n);
void MaxMinExchang(int a[], int n);
void Swap(int *x, int *y);
int main()
{
int a[10], n;
printf("Input n(n<=10):");
scanf("%d", &n);
printf("Input %d numbers:", n);
ReadData(a, n);
MaxMinExchang(a, n);
printf("Exchange results:");
PrintData(a, n);
return 0;
}
/* 函数功能:输入数组a的n个元素值 */
void ReadData(int a[], int n)
{
int i;
for (i=0; i {
scanf("%d", &a[i]);
}
}
/* 函数功能:输出数组a的n个元素值 */
void PrintData(int a[], int n)
{
int i;
for (i=0; i {
printf("%5d", a[i]);
}
printf("\n");
}
/* 函数功能:将数组a中的最大数与最小数位置互换 */
void MaxMinExchang(________, int n)
{
int maxValue = a[0], minValue = a[0], maxPos = 0, minPos = 0;
int i;
for (i=1; i {
if (a[i] > maxValue)
{
maxValue = _______;
maxPos = ____;
}
if (a[i] < minValue)
{
minValue = a[i];
minPos = i;
}
}
Swap(________________);
}
/* 函数功能:两整数值互换 */
void Swap(int *x, int *y)
{
int ________;
temp = *x;
_________;
*y = temp;
}
A、第41行: int a[]
第49行: a[i]
第50行: i
第58行: &a[maxPos], &a[minPos]
第64行: temp
第66行: *x = *y
B、第41行: int a
第49行: a[i]
第50行: i
第58行: a[maxPos], a[minPos]
第64行: temp
第66行: *x = *y
C、第41行: int a[]
第49行: a[0]
第50行: 0
第58行: &a[maxPos], &a[minPos]
第64行: *temp
第66行: x = y
D、第41行: int a[]
第49行: a[n-1]
第50行: n-1
第58行: *a[maxPos], *a[minPos]
第64行: &temp
第66行: x = y
Input n(n<=10):10↙
Input 10 Numbers:1 4 3 0 –2 6 7 2 9 -1 ↙
Exchange results: 1 4 3 0 9 6 7 2 -2 -1
按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
#include
void ReadData(int a[], int n);
void PrintData(int a[], int n);
void MaxMinExchang(int a[], int n);
void Swap(int *x, int *y);
int main()
{
int a[10], n;
printf("Input n(n<=10):");
scanf("%d", &n);
printf("Input %d numbers:", n);
ReadData(a, n);
MaxMinExchang(a, n);
printf("Exchange results:");
PrintData(a, n);
return 0;
}
/* 函数功能:输入数组a的n个元素值 */
void ReadData(int a[], int n)
{
int i;
for (i=0; i
scanf("%d", &a[i]);
}
}
/* 函数功能:输出数组a的n个元素值 */
void PrintData(int a[], int n)
{
int i;
for (i=0; i
printf("%5d", a[i]);
}
printf("\n");
}
/* 函数功能:将数组a中的最大数与最小数位置互换 */
void MaxMinExchang(________, int n)
{
int maxValue = a[0], minValue = a[0], maxPos = 0, minPos = 0;
int i;
for (i=1; i
if (a[i] > maxValue)
{
maxValue = _______;
maxPos = ____;
}
if (a[i] < minValue)
{
minValue = a[i];
minPos = i;
}
}
Swap(________________);
}
/* 函数功能:两整数值互换 */
void Swap(int *x, int *y)
{
int ________;
temp = *x;
_________;
*y = temp;
}
A、第41行: int a[]
第49行: a[i]
第50行: i
第58行: &a[maxPos], &a[minPos]
第64行: temp
第66行: *x = *y
B、第41行: int a
第49行: a[i]
第50行: i
第58行: a[maxPos], a[minPos]
第64行: temp
第66行: *x = *y
C、第41行: int a[]
第49行: a[0]
第50行: 0
第58行: &a[maxPos], &a[minPos]
第64行: *temp
第66行: x = y
D、第41行: int a[]
第49行: a[n-1]
第50行: n-1
第58行: *a[maxPos], *a[minPos]
第64行: &temp
第66行: x = y
C语言程序设计精髓