问题 单项选择题

若有以下程序
#include<stdio.h>
#define N 4
void fun(int a[][N],int b[],int flag)
int i,j;
for(i=0;i<N;i++)
b[i]=a[i][0];
for(j=1;j<N;j++)
if(flag(b[i]>a[i][j]):(b[i]<a[i][j]))
b[i]=a[i][j];


main()
int x[N][N]=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,y[N],i;
fun(x,y,1);
for(i=0;i<N;i++)printf("%d,,y[j]);
fun(x,y,0);
for(i=0;i<N;i++)printf("%d,",y[i]);
printf("\n");

则程序的输出结果是______。

A.1,5,9,13,4,8,12,16,
B.4,8,12,16,1,5,9,13,
C.1,2,3,4,13,14,15,16,
D.13,14,15,16,1,2,3,4,

答案

参考答案:A

解析: flag为1求出每行的最小值,flag为0求出每行的最大值,所以选择A。

填空题
补全对话,情景问答