m[--i]
m[2*2]
m[m[0]]
m[m[i]]
第1题:
阅读下面程序:
include <iostream.h>
int fun2(int m)
{
if(m%3==0)
return 1;
else
return 0;
}
void fun1(int m, int &s)
{
int i;
for (i=1; i<m; i++)
if(fun2(i))
S=S*i;
}
void main()
{
int n=9, s=2;
fun1(n, s);
cout<<s<<end1;
}
该程序的运行结果是【 】。
第2题:
若有定义语句“intm[]={5,4,3,2,1),i=4;”则下列对m数组元素的引用中错误的是( )。
A.m[--i]
B.m[2*2]
C.m[m[o]]
D.m[m[i]]
第3题:
下列给定程序中,函数fun()的功能是:给一维数组a输入任意4个整数,并按如下的规律输出。例如输入1,2,3,4,程序运行后输出以下方阵:
4 1 2 3
3 4 1 2
2 3 4 1
1 2 3 4
请改正程序中的错误,使它能得出正确的结果。
注意;不要改动main 函数,不得增行或删行,也不得更改程序的结构。
试题程序;
include <stdio.h>
define M 4
/*******************************/
void fun(int a)
{int i,j,k,m;
printf("Enter 4 number: ");
for (i=0; i<M; i++) scanf ("%d", &a [i] );
printf ("\n\n The result : \n\n ");
for (i=M; i>0; i--)
{ k=a [M-1];
for (j=M-1; j>0; j--)
/**********************************/
a[j]=a[j+1];
a[0]=k;
for (m=0 ;m<M; m++ ) printf ("%d ", a [m]);
printf ("\n ");
}
}
main ()
{int a [M];
fun(a); printf("\n\n ");
}
第4题:
以下函数模板max()的功能是返回数组a中最大元素的值。请将横线处缺失部分补充完整。
template<typename T>T max(T a[],int n)
{
T m=a[0]
for(int i=1;i<n;i++)
if(a[i]>m)______;
return m;
}
第5题:
以下程序中,函数 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。
define M 2
define N 4
void SumColumMin(int a[M][N],int *sum)
{ int i,j,k,s=0;
for(i=0;i〈N;i++)
{ k=0;
for(j=1;j<M;j++)
if(a[k][i]>a[j][i])k=j;
s+=【 】;
}
【 】 =s;
}
main( )
{ int x[M][N]={3,2,5,1,4,1,8,3},s;
SumColumMin(【 】);
printf("%d\n",s);
}
第6题:
以下程序的运行结果是【 】。
include<iostream.h>
func(int a,int b)
{
statlC int m=0,i=2;
i+=m+1;
m=i+a+b;
return m;
}
void main()
{int k=4,m=1,p;
p=func(k,m);cout<<p<<”,”;
p=func(k,m);cout<<p<<endl;
}
第7题:
下列给定程序中,函数fun()的功能是:输出M行N列整数方阵,然后求两条对角线上的各元素之和,返回此和数。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.
试题程序:
include <conio.h>
include <stdio.h>
define M 5
/**********************************/
iht fun(int n, int xx[ ][ ])
{ int i, j, sum=0;
printf("\nThe %d x %d matrix:\n",M,M);
for(i=0;i<M;i++)
{ for (j=0; j<M; j++)
/**********************************/
printf("%4f",xx[i][j]);
printf("\n");
}
for(i=0;i<n;i++)
sum+=xx[i][i]+xx[i][n-i-1];
return(sum);
}
main ()
{ int aa[M][M]={{1,2,3,4,5},{4,3,2,1,0},
{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};
clrscr();
printf("\nThe sum of all elements on 2
diagnals is %d",fun(M, aa));
}
第8题:
有以下程序
#include <stdio.h>
Main()
{ int i,j,m=1;
For{i=i;i<3;1++}
( For(j=3;j>0;j--)
{iF(i+j>3)Break;
m*=i*j;
}
}
PrintF(“m=%d\n”,m)
}
程序运行后的输出结果是
A.m=6
B.m=2
C.m=4
D.m=5
第9题:
设数组a[0..n-l,O..m-l] (n>l,m>l)中的元素以行为主序存放,每个元素占用1个 存储单元,则数组元素a[ij](0<i<n,0<j<m)的存储位置相对于数组空间首地址的偏移量为(35)。
A.j*m+i
B.i*m+j
C.j*n+i
D.i*n+i
第10题:
第11题:
写出程序的运行结果。 #include
第12题:
若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为()。(设a[0][0]位于数组的第一个位置上)
第13题:
给定程序MODllC中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。
inClude<coMo.h>
inClude<stdio.h>
dehne M 5
/************fOUnd************/
int fun(int n,int xx[][])
{int i,j,sum=0;
printf("\n The%dx%d matrix:\n"M,M);
for(i=0;i<M;i++)
{ for(j=0;j<M;j++)
/************found************/
printf("%f",xx[i][j]);
printf("\n");
}
for(i=0;i<n;i++)
sum+=xx[i][i]+XX[i][[n-i-1];
return(sum);
}
main( )
{int aa[M][M]={{1,2,3,4,5),{4,3,2,1,0),
{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};
clrscr( );
printf("\n The sum Of all elements On 2 diagnals is %d."fun(M,aa));
}
第14题:
若二维数组a有m列,且设a[0][0]位于数组的第一个位置上,则计算任一元素a[i][j]在数组中的位置的式子为( )
A.i*m+j
B.j*m+i
C.i*m+j-1
D.i*m+j+1
第15题:
阅读以下说明和C++程序,将应填(n)处的字句写在对应栏内。
[说明]
设计一程序,输入10个整数到一个数组中,调整这10个数在数组中的位置,使得其中最小的一个数成为数组的首元素,最大的一个数成为数组的末元素。
[C++程序]
include <iostream.h>
define SIZE 10
void main ( )
{
int data [SIZE];
int m;
cout<<"请输入"<<SIZE<<"个整数:";
for ( m=0;m<SIZE; m++ ) (1);
int j=0,k=0;
for ( int i=1;i<SIZE; i++ )
if ((2)) j=i;
else if ( data[i]<data[k] ) (3);
if (j>0 ) {
int d=data[0];
(4);
data[k]=d;
}
if ( k<SIZE-1 )
{
int d=data [SIZE- 1 ];
data[SIZE- 1 ]=data[j];
(5);
}
cout<<end1<<" 排序后: ";
for ( m=0;m<SIZE; m++ ) cout<<data[m]<<" " ;
}
第16题:
以下程序的功能是调用函数fun计算m=1-2+3-4+…+9-10,并输出结果,请填空。int fun( int n){ int m=0,f=1,i; for(i=1;i<=n;i++) { m+=i*f; f=-f; } return m;}main{ printf("m=%d\\n",); }
第17题:
若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是______。
A.m[-i]
B.m[2*2]
C.m[m[0]]
D.m[m[i]]
第18题:
若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中0<=i<3,0<=j<4)值的正确引用为( )。
A.(q+i)[j]
B.*q[i][j]
C.*(*q[i]+j)
D.*(*(q+i)+j)
第19题:
若有定义语句:int m[]={1,2,3,4,5},i=4;,则下面对m 数组元素的引用中错误的是A.m[++i] B.m[1*2] C.m[m[0]] D.m[m[--i]]
第20题:
有以下程序: int m=1; void fun(int *n) { static int m=2; *n*=m-1; m+=2; } main() { int i; for(i=1;i<4;i++) { fun(&m); printf("%d",m); } } 程序的输出结果是( )
A.1317
B.2630
C.1315
D.1111
第21题:
若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中O<=i<3,0<=j<4)值的正确引用为( )。
A)(q i)[j]
B)*q[il][j]
C)*(*q[i] j)
D)*(*(q i) j)
第22题:
第23题:
若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式是()(假设a[0][0]位于数组的第一个位置上。)