更多"以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最"的相关试题:
[填空题]以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数语第一个数兑换,把最大的数语最后一个数对换。请填空。
#include <stdio.h>
void 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]= [11] ; [12] =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");
}
[填空题]以下程序中函数f的功能是在数组X的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。
#include<stdio.h>
void f(int x[], int n)
int p0, p1, i, j, t, m;
j=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]= (11) ; (12) =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"):
[填空题]以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)小找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。
#include <stdio.h>
void f(int x[],int n)
int p0,p1,i,j,t,m;
i=j=x[0]; p0=p1=0;
for(m=O;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[pl];x[p1]= 【14】 ; 【15】 =t
main( )
int a[10],u;
for(u=0;u<10;u++) scamp("%d",&a[u]);
f(a,10);
for(u=0;u<10;u++)printf("%d",a[u]);
ptintf("/n");
[填空题]以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。
#include <stdio.h>
voidf(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]= [12] ; [13] =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");
[填空题]以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大数和最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。
#include <stdio.h>
void 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]=x[0];______=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");
[填空题]以下程序用来计算由键盘输入的N个数中正数之和,负数之和,正数的个数,负数的个数。其中用C累加负数之和,IC累加负数的个数,D累加正数之和,ID累加正数的个数。
Privae Sub Commandl_Click
N=10
C=0:IC=0:D=0:ID=0
For =1 To N
A=Val(1nputBox(“请输入A”))
IFA<0 Then C=C+A:IC=IC+1
lf A>O Then D=
Next K
Print"负数的个数为:",IC
Print"负数的和为:",C
Print"正数的个数为:",ID
Print"正数的和为:",D
End Sub
[填空题]下列给定程序中,函数fun( )的功能是求出数组中最小数和次最小数,并把最小数和a[0]中的数对调,次最小数和a[1]中的数对调。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <stdio.h>
#define N 20
void fun(int *a,int n)
int i, m,t,k;
/*************found**************/
for(i=O; i<n; i++)
m==i;
for(k=i; k<n; k++)
if(a[k]<a[m])
/*************found**************/
k=m;
t=a[i];
a[i]=a[m];
a[m]=t;
main( )
int x,b[N]=11,5,12,0,3,6,9,7,10,8,
n=10,i;
clrscr( );
for(i=0; i<n; i++)
printf("%d",b[i]);
printf("/n");
fun(b,n);
for(i=0; i<n; i++)
printf("%d",b[i]);
printf("/n");
[填空题]
下面程序的功能是:统计存放在数组A中的N个数有多少个是不同的。具体做法是:变量Left指向要被处理的数(从第2个元素开始),Right指向数组最后一个元素。若A(Left)与排在它前面的某个数组元素值相同,就用数组元素A(Right)的值来替换A(Left)的值,同时将变量Right的值减1;否则将变量Left的值加1,处理数组下一个元素,重复以上过程,直到Left>Right为止。Right的值即为不同的数的个数。
Option Explicit
OptionBase 1
Private Sub Commandl_Click( )
Dim A( ) As Integer,N As Integer,I AS Integer
Dim OP As Integer
N=InputBox("请输入数据个数", ,10)
ReDim A(N)
Randomize
For I=1 To N
A(I)=Int(Rnd*10)+1
Text1=Text1 & A(1) & " "
Next I
Call Statistic(A,OP)
Text2="有" & oP & "个不同的数:"
For I=1 To OP
Text2=Text2 & A(I) & " "
Next I
End Sub
Private Sub Statistic(A( ) As Integer,Right As Integer)
Dim Left As Integer,K As Integer,I As
[填空题]在给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所有数据中小于平均值的数据移至数组的前部,大于等于平均值的数据移至X所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为30.500000;移动后的输出为:30 6 17 15 26 46 32 40 45 48。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
#include<stdlib.h>
#define N 10
double fun(double* x)
int i,j;
double s,av,y[N];
s=0;
for(i=0;i<N;i++)s=s+x[i];
/**********found**********/
av= (1) ;
for(i=j=0;i<N;i++)
if(x[i]<av)
/**********found**********/
y[ (2) ]=x[i];
x[i]=-1;
for(i=0;i<N;i++)
/**********found**********/
if(x[i]!= (3) )y[j++]=x[i];
for(i=0;i<N;i++)x[i]=y[i];
return av;
void main( )
int i;
double x[N]=46,30,32,40,6,17,45,15,48,26;
for(i=0;i<N;i++)printf("%5.0f",x[i]);
printf("/n");
printf("/nThe average is:%f/n",