更多"【说明】 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换"的相关试题:
[填空题]求数组中最大元素和最小元素。
main( )
{int m[10]={3,-30,20,6,77,2,0,-4,-7,99},
int i,max,min:
max=min=m[0];
for(i=0;i<10;i++)
{if(m[i]>max)max=m[i];
if(m[i]<min)min=m;}
printf("%d,%d",max,min);
}
错误:______
改正:______
[填空题]求数组中最大元素和最小元素。
main( )
int m[10]=3,-30,20,6,77,2,0,-4,-7,99,
int i,max,min:
max=min=m[0];
for(i=0;i<10;i++)
if(m[i]>max)max=m[i];
if(m[i]<min)min=m;
printf("%d,%d",max,min);
错误:______
改正:______
[填空题]请补充函数fun( ),该函数的功能是;交换数组aa中最大和最小两个元素的位置,结果依然保存在原数组中,其它元素位置不变。注意数组aa中没有相同元素。
例如,输入“33,67,42,58,25,76,85,16,41, 56”,则输出“33,67,42,58,25,76,16,85,41,56”。
注意;部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio. h>
#define N 10
void fun(int aa[])
{
int i, j, t;
int max=0, min=0;
for(i=0; i<N; i++)
{
if( 【1】 )
max=i;
if( 【2】 )
min=i;
}
t=aa [max];
【3】 ;
aa [min] =t;
}
main( )
{
int i;
int aa [N] ={33, 67, 42,58,25, 76, 85,16, 41, 56};
clrscr ( );
printf("/n*** original list ***/n");
for(i=0; i<N; i++)
printf ("%4d", aa [i] );
fun (aa);
printf ("/n*** new list ***/n");
for(i=0; i<N; i++)
printf ("%4d", aa [i]);
}
[填空题]设有一个10个元素的数组,下列程序将该数组的第一个元素与第十个元素交换,第二个元素与第九个元素交换……,第五个元素与第六个元素交换,请补充完该程序。
Private Sub Commnd1_Click( )
Dim a(1 To 10)As Integer
Dim i As Integer
Dim p As Integer
Dim t As Integer
Dim j As Integer
For i=1 To 10
a(i)=i
Next i
For j=1 To 5
【9】
【10】
【11】
Next j
For i=1 To 10
Print a(i)
Next i
End Sub
[填空题]以下程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中各元素的最小值。请填空。
Option Base 1
Private Sub Commandl_Click( )
Dimarrl
DimMin As Integer,i As Integer
arrl=Array(12,435,76,-24,78,54,866,43)
Min= [11]
Fori=2 To 8
If arrl(i)<Min Then [12]
Nexti
Print"最小值是:";Min
End Sub
[填空题]下面函数返回数组中最大元素的下标,数组中元素个数为t,将程序补充完整。
int findmax(int s[],int t) {
int k,p;
for(p=0,k=p;p<t;p++) {
if 【9】
k=p;
}
return k;
}
[填空题]设有一个有10个元素的数组,下列程序将该数组的第1个元素与第10个元素交换,第2个元素与第9个元素交换……,第5个元素与第6个元素交换,请填空。
Private Sub Command1_Click( )
Dim a(1 To 10)As Integer
Dim i As Integer
Dim p As Integer
Dim t As Integer
Dim j As Integer
For i=1 To 10
a(i)=i
Next i
For j=1 To 5
t=a(j)
______
______
Next j
For i=1 To 10
Print a(i)
Next i
End Sub
[填空题]下面函数返回数组中最大元素的下标,数组中元素个数为t,将程序补充完整。
int findmax(int s[],int t)
int k,p;
for(p=0,k=p;p<t;p++)
if
k=p;
return k;
[填空题]下的findrnax函数返M数组s中最大元素的下标。数组中元素的个数由t传入。
findmax(int s[],int t)
{int k,p;
for(p=0,k=0;p<t;p++)
if(s[p]>s[k])______;
return k:
}
[填空题]用指针法求出数组元素中最大者和最小者。
int max,min;
void max_min_value(array,n)
int array[],n;
【11】 ;
max=min=*array;
for( 【12】 ;p<array+n;p++)
if(*p>max) max=*p;
else if(*p<min)min=*p;
main( )
int i,number[20],*p;
p=number;
printf("输入20个数据:/n");
for(i=0;i<20;i++,p++) scanf("%d",p);
【13】 ;
max_min_value(p,10);
printf("max=%-10dmin=%d/n",max,rain);
[填空题]下面的程序代码实现将一个一维数组中元素向右循环移动,移动次数由文本框Text1输入。例如数组各元素的值依次为0,1,2,3,4,5,6,7,8,9,10;移动三次后,各元素的值依次为8,9,10,0,1,2,3,4,5,6,7。
Private Sub MoveRight(x( )As Integer)
Dim i As Integer
Dim j As Integer
Dim k As Integer
i=UBound(x)
j=x(i)
For k=i To 【9】 Step—1
【10】
Next k
x(LBound(x))=j
End Sub
Private Sub Command1_Click( )
Dim a(10) As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
For i=0 To 10
a(i)=i
Next i
j=Val(Text1.Text)
k=0
Do
k=k+1
Call MoveRight(a)
Loop Until k=j
For i=0 To 10
Print a(i);
Next i
End Sub