1,1,-1,-1,-1,
1,0,-1,1,-1,
1,1,1,1,1,
1,-1,1,-1,1,
第1题:
阅读以下函数说明和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");
}
}
第2题:
请编写一个函数sum(int array[],int len),该函数返回数组array的所有整数元素的和,其中len为数组array的长度。
注意:部分源程序已存在文件test34_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。
程序输出结果如下:
sum of array 15
文件test34_2.cpp的内容如下:
include <iostream.h>
int sum(int array[],int len)
{
}
void main()
{
static int a[5]-{1,2,3,4,5};
int result=sum(a,5);
cout<<"sum of array "<<result<<end1;
}
第3题:
A.array(‘2’,’2’)
B.array(‘1’,’1’)
C.array(2,2)
D.(1,1)
第4题:
若有以下程序#include <stdio.h>main(){ int i; int a[]={1,3,5,7,9} int *p=a; for(i=0;i<4;i++) a[i]=*p; printf("%d,%d\n",a[2],a[4]);}上面程序的输出结果是A.3,9 B.5,9 C.1,9 D.1,1
第5题:
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
【说明】
有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
【函数】
main()
{
int number[20],n,m,i;
printf("the total numbers is:");
scanf("%d",&n);
printf("back m:");
scanf("%d",&m);
for(i=0;i<=n-1;i)
scanf("%d,",&number[i]);
(1);
for(i=0;i<=n-1;i)
printf("%d,",number[i]);
}
move(array,n,m)
int n,m,array[20];
{
int *p,array_end;
array_end=(2);
for(p=array[n-1];(3);p--)
*p=(4);
*array=array_end;
m--;
if(m>0) (5);
}
第6题:
#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
第7题:
有以下程序: #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
第8题:
A.NULL
B.array(3){[0]=int(1) [1]=int(2) [2]=int(2)}
C.bool(true)
D.array(3){[2]=int(1) [1]=int(2) [0]=int(3)}
第9题:
下面程序执行的结果是【 】。
include <iostream>
using namespace std;
void main(){
int sum=0;
int array[6]={1,2,3,4,5,6};
int *p;
p=&array[0];
for(int i=0;i<6;i++){
sum=sum+*p;
p++;
}
cout<<sum;
}
第10题:
有以下程序 #include<string.h> main(int arge,char *argv[]) { int i,len=0; for(i=1;i<arge;i++)len+=strlen(argv[i]); printf(“%d\n”,len); } 程序编译连接后生成的可执行文件是exl.exe,若运行时输入带参数的命令行是: exl abcd efg 10<回车> 则运行的结果是
A.22
B.17
C.12
D.9