定义一个二维数组: int array[10][10],表示一个10*10的矩阵,设循环变量i,则以下程序输出的是该数组中的哪些值? for(i=0;i<10;i++) printf(“%d”,array [i] [i]);
A.正对角线上的元素值
B.反对角线上的元素值
C.第一行的值
D.按行输出数组中的所有元素值
E.按列输出数组中的所有元素值
F.第一列的值
第1题:
有以下程序 , 程序执行后 , 输出结果是【 1 1 】
#include <stdio.h>
void fun(int *a)
{ a[0]=a[1];}
main()
{ int a[10]={10,9,8,7,6,5,4,3,2,1},i;
for(i=2;i>=0;i--) fun(&a[i]);
for(i=0;i<10;i++) printf("%d",a[i]);
printf("\n");
}
第2题:
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
【说明】
实现矩阵(3行3列)的转置(即行列互换)。
例如,输入下面的矩阵:
100 200 300
400 500 600
700 800 900
程序输出:
100 400 700
200 500 800
300 600 900
【函数】
int fun(int array[3][3])
{
int i,j,t;
for(i=0;(1);i++)
for(j=0;(2);j++)
{
t=array[i][j];
(3);
(4);
}
}
}
main()
{
int i,j;
int array[3][3]={{100,200,300},{400,500,600},{700,800,900}};
clrscr();
for (i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%7d",array[i][j]);
printf("\n");
}
fun((5));
printf("Converted array:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%7d",array[i][j]);
printf("\n");
}
}
第3题:
下列程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是使数组右上半三角元素中的值全部置成0。例如a数组中的值为
a=4 5 6
1 7 9
3 2 6,
则返回主程序后a数组中的值应为
0 0 0
1 0 0
3 2 0
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<conio.h>
include<stdio.h>
include<stdlib.h>
define N 5
int fun(int a[ ][N])
{
}
main()
{
int a[N][N],i,j;
clrscr( );
printf("*****The array*****\n");
for(i=0;i<N;i++)
/*产生—个随机的5*5矩阵*/
{for(j=0;j<N;j++)
{a[i][j]=rand( )%10;
printf (“%4d”,a[i][j]);
}
printf(“\n”);
}
fun(a);
printf(“THE RESULT\n”);
for(i=0;i<N;i++)
{ for(j=0;i<N;j++)
printf(“%4d”,a[i][j]);
printf(“\n”);
}
}
第4题:
程序定义了N×N的二维数组,并在主函数中自动赋值。
请编写函数fun(int a[][N],int n),该函数的功能是使数组左下半三角元素中的值加上n。
例如:若n的值为3,a数组中的值为
a=2 5 4
1 6 9
5 3 7
则返回主程序后a数组中的值应为
5 5 4
4 9 9
8 6 10
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数full的花括号中填入所编写的若干语句。
试题程序:
include <stdio.h>
include <conio.h>
include <stdlib.h>
define N 5
fun(int a[][N],int n)
{
}
main()
{
int a[N][N],n,i,j;
clrscr();
printf("***** The array *****\n");
for(i=0;i<N;i++)
/*产生—个随机5*5矩阵*/
{
for(j=0;j<N;j++)
{
a[i][j]=rand()%10;
printf("%4d",a[i][j]);
}
printf("\n");
}
do
n=rand()%10;
/*产生一个小于5的随机数n*/
while(n>=5);
printf("n=%4d\n",n);
fun(a,n);
printf("*****THE RESULT*****\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;i++)
printf("%4d",a[i][j]);
printf("\n");
}
}
第5题:
若已定义,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、 4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、 2、3、4、5、5、4、3、2、1。请填空。
fun( int a[])
{
int i,
for(i=1;i<=10;i++) 【 】=i;
for(i=0;i<5;i++) 【 】=a[i];
}
第6题:
定义数组char a[]=}'0','1','2','3');,则将该数组中元素按反序转换成整数,正确的程序段是______。
A.int k=0,i; for(i=0;i<4;i++) k=k*10+a[i]-48;
B.int k=0,i; for(i=3;i>=0;i--) k=k*10+a[i]-'0';
C.int k=0,i; for(i=3;i>=0;i--) k=k+a[i]-'0';
D.int k,i; for(i=3;i>=0;i--) k=k*10+a[i]-'0';
第7题:
下面程序的输出是main(){ int arr[10],i,k=0; for(i=0;i<10;i++) arr[i]=i; for(i=1;i<4;i++) k+=arr[i]+i; printf("%d\n",k);}
第8题:
下面程序的输出是【 】。
main()
{int arr[10],i,k=0;
for(i=0;i<10;i++)
arr[i]=i;
for(i=1;i<4;i++)
k+=arr[i]+i;
printf("%d\n",k);}
第9题:
有以下程序,程序执行后,输出结果是【 】
include<stdio.h>
void fun(int*A)
{ a[0]=a[1];}
main()
{ int a[10]={10,9,8,7,6,5,4,3,2,1,},i;
for(i=2;i>1=0;i-) fun(&a[i]);
for(i=0;i<10;i++) printf("%d,a[i]);
printf("\n");
}
第10题:
本题定义了一个长度为l0的boolean型数组,并给数组元素赋值,要求如果数组元素下标为奇数,则数组元素值 为false,否则为true。 public class javal{ pubhc static void main(String[]args){ boolean b[]= ; for(int i=0;i<10;i++){ if( ) b[i]=false; else ; } for(int i=0;i<10;i++) System.Out.print("bE"+i+"]="+b[i]+","); } }
第11题:
以下程序中函数reverse的功能是对a所指数组中的内容进行逆置。 void reverse(int a[], int n) { int i, t; for(i=0; i<n/2; i++) {t=a[i]; a[i]=a[n-1-1]; a[n-1-i]=t;} } main() { int b[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int i, s=0; reverse(b, 8); for(i=6; i<10; i++) s+=b[i]; printf("% d\n", s); } 程序运行后的输出结果是______。
A.22
B.10
C.34
D.30
第12题:
对一个已定义好的数组a[10]赋初值,大小为其下标。 for(i=0;i()10;i++)a[i]=i;
第13题:
下面程序的输出是【 】。
main()
{int arr[10],i,k=0;
for(i=0;i<10;i++)
arr[i]=i;
fov(i=1;i<4;i++)
k+=arr[i]+i;
printf("%d\n",k);}
第14题:
#include <stdio.h>void main(){ void sort(int array[],int n); int a[10],i; printf("enter the array:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); sort(a,10); printf("The sorted array:\n"); for(i=0;i<10;i++) printf("%d",a[i]); printf("\n");}void sort(int array[],int n){ int i,j,k,t; for(i=0;i<n-1;i++) { k=i; for(j=i+1;j<n;j++) if(array[j]<array[k]) k=j; t=array[k];array[k]=array[i];array[i]=t; }}程序呢,就是这个了。谭老爷子书上的例题,和书上一样,然后输入:5 7 -3 21 -43 67 321 33 51 0 然后从小到大排好后输出,书上他们之间从小到大有间隔,但是我运行了,没有间隔。。。。( ⊙o⊙ )?咋解决?????来高手解答。。。我运行后是:-43-305721335167321
第15题:
有以下程序: #include <iostream> #include <cstdlib> using namespace std; int main() { int arraysize; int *array; cout<<"Please input the size of the array:"; cin>>arraySiZe; array=new int[arraysize]; if(array==NULL) { cout<<"allocate Error\n"; exit(1); } for(int i=0;i<arraysize;i++) array[i]=i*i; int j; cout<<"which element you want to check:"; cin>>j; cout<<array[j]<<end1; return 0; } 执行程序输入:10<空格>5,则输出结果为( )。
A.allocate Error
B.1
C.0
D.25
第16题:
定义如下变量和数组:
int i;
int y[2][3]={2,4,6,8,10,12};
则下面语句的输出结果是【 】。
for(i=0;i<2;i++)
cout<<y[1-i)[i+1]<<",";
第17题:
下列程序定义了N×N的二维数组,并在主函数中自动赋值;请编写函数fun(int a[][N]),该函数的功能是:使数组左下半三角元素中的值全部置成0。例如a数组中的值为
a=1 9 7
2 3 8
4 5 6
则返回主程序后a数组中的值应为
0 9 7
0 0 8
0 0 0
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include <conio.h>
include <stdio.h>
include <stdlib.h>
define N 5
int fun (int a[] [N])
{
}
main()
{
int a[N] [N],i,j;
clrscr();
printf("*****The array*****\n");
for(i=0;i<N;i++)
/*产生—个随机的5*5矩阵*/
{ for(j=0;j<N;j++)
{a[i][j]=rand()%10;
printf("%4d", a[i][j]);
}
printf("\n");
}
fun (a);
printf("THE RESULT\n");
for(i=0;i<N;i++)
{ for(j=0;j<N;j++)
printf("%4d",a[i][j));
printf("\n");
}
}
第18题:
以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,若一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。请填空。#include <stdio.h>#define N 80int fun(int a[], int n){ int i,j=1; for(i=1;i<n;i++) if(a[j-1]a[i]) a[j++]=a[i]; ;}main(){ int a[N]={ 2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10}, i, n=19; printf("The original data :\n"); for(i=0; i<n; i++) printf("%3d",a[i]); n=fun(a,n); printf("\nThe data after deleted :\n"); for(i=0; i<n; i++) printf("%3d",a[i]); printf("\n");}
第19题:
以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。 void reverse(int a[],int n) { int i,t; for(i=0;i<n/2;i++) { t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf(“%d\n”,s); } 程序运行后的输出结果是
A.22
B.10
C.34
D.30
第20题:
下列程序中函数reverse()的功能是将a所指数组中的内容进行逆置。 #include<stdio.h> void reverse(int a[], int n) { int i,t; for(i=0;i<n/2;i++) { t=a[i];a[i]=a[a-1-i];a[n-1-i]=t;} main() { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,10); for(i=0;i<3 ;i++) s+=b[i]; printf("%d\n",s); } 程序运行后的输出结果是( )。
A.27
B.6
C.25
D.30
第21题:
下述程序的输出结果是( )。 #include<stdio.h> void main() {int a[20],*p[4]; int i,k=0; for(i=0;i<20;i++) a[i]=i; for(i=0;i<4;i++) p[i]=&a[i*i+1]; for(i=0;i<4;i++) {k=k+*p[i];} printf("%d",k); }
A.10
B.18
C.6
D.数组元素引用不合法,输出结果不定
第22题:
阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。
【说明】
输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
【函数】
main ( )
{
int number[10];
input (number);
max min (number);
output (number);
}
input (number)
int number[10];
{int i;
for ( i=0;i<9;i++ )
scanf ( "%d,",&number[i] );
scanf ( "%d",&number[9] );
}
max_min ( array )
int array[10];
{int *max,*min,k,1;
int *p,*arr_end;
arr end=(1);
max=min=array;
for ( p=(2);p<arr_end;p++ )
if((3)) max=p;
else if ( *p<*min ) min=p;
(4);
l=*min;
(5);array[0]=1;1=*p;
*p=array[9];array[9]=k;k=*p;
return;
}
output ( array )
int array[10];
{ int *p;
for ( p=array;p<array+9;p++ )
printf ( "%d,",*p );
printf ( "%d\n",array[9] );
}
第23题:
下列程序中函数reverse()的功能是将a所指数组中的内容进行逆置。
#include<stdio.h>
void reverse(int a[],iht n)
{ int i,t;
for(i=0;i<n/2;i++)
{ t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{ int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;
reverse(b,10) ;
for(i=0;i<3;i++)s+=b[i];
printf("%d\n",s);
}
程序运行后的输出结果是( )。
A.27
B.6
C.25
D.30
第24题:
输出一个已赋值的整型数组a[10]各元素的值。 请完善:for(i=0;i<=9;i++)();