题目
以下程序中函数 f 的功能是在数组 x 的 n 个数 (假定 n 个数互不相同 ) 中找出最大最小数 , 将其中最小
的数与第一个数对换 , 把最大的数与最后一个数对换 . 请填空 .
#include <stdio.h>
viod f(int x[],int n)
{ int p0,p1,i,j,t,m;
i=j=x[0]; p0=p1=0;
for(m=0;m<n;m++)
{ if(x[m]>i) {i=x[m]; p0=m;}
else if(x[m]<j) {j=x[m]; p1=m;}
}
t=x[p0]; x[p0]=x[n-1]; x[n-1]=t;
t=x[p1]; x[p1]= _[14]_______ ; _[15]_______ =t;
}
main()
{ int a[10],u;
for(u=0;u<10;u++) scanf("%d",&a[u]);
f(a,10);
for(u=0;u<10;u++) printf("%d",a[u]);
printf("\n");
}
第1题
#include <stdio.h>
viod f(int x[],int n)
{ int p0,p1,i,j,t,m;
i=j=x[0]; p0=p1=0;
for(m=0;m<n;m++)
{ if(x[m]>i) {i=x[m]; p0=m;}
else if(x[m]<j) {j=x[m]; p1=m;}
}
t=x[p0]; x[p0]=x[n-1]; x[n-1]=t;
t=x[p1];x[p1]= _[14]_______; _[15]_______=t;
}
main()
{ int a[10],u;
for(u=0;u<10;u++) scanf("%d",&a[u]);
f(a,10);
for(u=0;u<10;u++) printf("%d",a[u]);
printf("\n");
}
第2题
(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
#include <stdio.h>
#define N 10
void fun(int x[N])
{ int i=0;
while(i<N)scanf("%d", );
}
在程序中下划线处应填入的是
A)x+i
B)&x[i+1]
C)x+(i++)
D)&x[++i]
第3题
函数f()的功能是将形参x的值转换为二进制数,所得二进制数的每一位数放在一维数组y中返回。二进制的最低位放在下标为0的元素中,请将程序补充完整。
void f(int x,int y[]){
int m=0,n;
do{
n=x% 【 】;
y[m++] =n;
x/=2;
}while(x);
}
第4题
以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
#include<stdio.h>
#define N 10
void fun(int x[N])
{int i=0;
while(i<N)scanf(“%d”,_______);
}
在程序中下划线处应填入的是
A.x+i
B.&x[i+1]
C.x+(i++)
D.&x[++i]
第5题
A.x+i
B.&x[i+1]
C.x+(i++)
D.&x[++i]
第6题
以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致
不能实现预定功能。
#define MIN-2147483647
int findmax(int x[],int n)
{int i,max;
for(i=0;i<n;i++)
{max=MIN;
if(max<x[i])max=x[i];)
return max;
}
造成错误的原因是()。
A.定义语句“int i,max;”中max未赋初值
B.赋值语句“max=MIN;”中,不应给max赋MIN值
C.语句“if(max<x[i])max=x[i];”中判断条件设置错误
D.赋值语句“max—MIN;”放错了位置
第7题
A.求数组a中的所有元素之和
B.求数组a中的所有元素之积
C.求数组a中部分元素之和
D.求数组a中部分元素之积
第8题
请补充函数fun(),该函数的功能是求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。
例如:当x[10]={15.6, 19.9, 16.7, 15.2, 18.3, 12.1, 15.5,11.0, 10.0, 16.0},结果为:avg=15.030000。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仪在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
include<conio.h>
double fun(double x[10])
{
int i;
long t;
double avg=0.0;
double sum=0.0;
for(i=0;i<l0;i++)
【 】;
avg=sum/10;
avg=【 】;
t=【 】;
avg=(double)t/100;
return avg;
}
main()
{
double avg,x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0};
int i;
clrscr();
printf(“\nThe original data is:\n”);
for(i=0;i<l0;i++)
printf("%6.lf",x[i]);
printf(“\n\n”);
avg=fun(x);
printf(“average=%f\n\n”,avg);
}
第9题
造成错误的原因是()。
A)定义语句int i,min;中vain未赋初值
B)赋值语句min=MAN;中,不应给min赋MAX值
C)语句if(min
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!