更多"以下程序中函数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=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>
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]=______;______=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");
[单项选择]在城市规划的分析方法中,一组数据巾最大数与最小数之差是()
A. 极差
B. 众数
C. 平均数
D. 标准差
[单项选择]在城市规划的分析方法中,一组数据中最大数与最小数之差是()
A. 极差
B. 众数
C. 平均数
D. 标准差
[简答题]从键盘输入三个数,编程求出三个数中最大数和最小数,并显示输出。
[简答题]改错题
下列给定程序中,函数fun( )的功能是求出数组中最小数和次最小数,并把最小数和a[0]中的数对调,次最小数和a[1]中的数对调。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
#define N 20
void fun(int *a,int n)
{
int i, m, t, k;
/**********************found***********************/
for(i=0; i
[填空题]下列给定程序中,函数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");
}
[简答题]下列给定程序中,函数fun( )的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。
请修改程序中的错误,得出正确的结果。
注意:不要改动math( )函数,不能增行或删行,也不能更改程序的结构。
试题程序:
#include<conio.h>
#include<stdio.h>
#define N 10
//****error****
void fun( )
{
int i, m, t, j;
for(i=0; i<2; i++)
{
//****error****
m=0;
for(j=i+1; j<n; j++)
if(b[j]>b[m])
m=j;
t=b[i];
b[i]=b[m];
b[m]=t;
}
}
void main( )
{
int a[N]={5, 12, 9, 7, 10}, n=5, i;
for(i=0; i<n; i++)
printf("%d", a[i]);
printf("/n");
fun(a, n);
for(i=0; i<n; i++)
printf("%d", a[i]);
printf("/n");
}
[单项选择]在-9与3之间插入n个数,使这n+2个数组成和为-21的等差数列,则n为()。
A. 4
B. 5
C. 6
D. 7
[填空题]从1,2,…,N(N>3)这N个数中任取三个数,记这三个数中中间大小的数为X,则随机变量X的分布律PX=k=______.
[填空题]下面的程序实现的是指针p所指向的地址的n个数中,求出最大的和最小的数据,请填空。
fun(int *p,int n)
int *q;
int max,min;
max=min=*p;
for(q=p; 【14】 ;q++)
if(*q>max)max=*q;
else if(*q<min)min=*q;
[填空题]下面的程序实现的是从指针p所指向的地址的n个数中,找出最大的和最小的数据,请填空。
fun(int *p,int n)
int *q;
int max,min;
max=min=*p;
for(q=p;______;q++)
if(*q>max)max=*q;
else if(*q<min)min=*q;
[填空题]下面的程序实现的是从指针p所指向的地址的n个数中,找出最大的和最小的数据,请填空。
fun(int *p,int n)
{ int *q;
int max,min;
max=min=*p;
for(q=p;______;q++)
if(*q>max)max=*q;
else if(*q<min)min=*q;}
[简答题]请编写程序,从IN.DAT文件中读取200个整数至数组xx中,求出最大数max及最大数的个数cnt和数组xx中能被3整除或能被7整除的算术平均值pj(保留2位小数)。结果max、cnt、pj输出到OUT.DAT文件中。
注意:部分程序、读数据函数read_dat(int xx[200])及输出格式已给出。
#include<conio.h>
#include<stdio.h>
#define N 200
void read_dat(int xx[N])
int i,j;
FILE *fp;
fp=fopen("IN.DAT","r");
for(i=0;i<20;i++)
for(j=0;j<10;j++)
fscanf(fp,"%d,",&xx[i*10+j]);
printf("%d",xx[i*10+j]);
printf("/n");
fclose(fp);
void main( )
int cnt,xx[N],max;
float pj;
FILE *fw;
int i,k;
long j=0;
fw=fopen("OUT.DAT","w");
read_dat(xx);
/**************************************/
/**************************************/
printf("/n/nmax=%d,cnt=%d,pj=%6.2f/n",max,cnt,pj);
fprintf(fw,"%d/n%d/n%6.2f/n",max,cnt,pj);
fclose(fw);
[单项选择]已知N个数已存入数组A[1..M]的前N个元素中(N<M),为在A[i](1≤i≤N)之前插入一个新数,应先______,以挪出一个空闲位置插入该数。
A. 从A[i]开始直到A[1],每个数向后移动一个位置
B. 从A[1]开始直到A[i],每个数向后移动一个位置
C. 从A[i]开始直到A[N],每个数向前移动一个位置
D. 从A[N]开始直到A[i],每个数间后移动一个位置
[填空题]对于输人的N个数进行快速排序算法的平均时间复杂度是 【1】 。
[填空题]要打印出50个在-100~100之间不同的随机整数,并找出第几个是最大数。给定的程序不完整,将程序补充完整。
Option Base 1
Private Sub Command1_Click( )
Dim b( )
Randomize
(12)
Do
x = Rnd
If x > 0.5 Then y = 1 Else y = -1
t = y * Int(Rnd * 100)+ 1
(13)
Do While k < j
If t <> b(k)Then
k = k + 1
Else
Exit Do
End If
Loop
If k = j Then
ReDim Preserve b(k)
b(k)= t
Print b(k);
j = j + 1
End If
Loop Until j > 50
Print
(14)
Max = b(1)
For n = 2 To 50
If b(n)> Max Then
(15)
p = n
End If
Next n
Print "最大数是:"; Max
Print "位置在第"; p; "个"
End Sub