2016单招一模试卷 计算机专业 下载本文

while(i++<15)

switch(i%5) {

题78答题处 default: s=s+2;++i;

case 1:s=s+1;++n;break; case 3:s=s+3;n++;continue; case 4:s=s+5;i++; }

printf(\}

79.阅读下列程序,并把运行结果填写在题79答题处。

#include void num() { extern int x; static int y; int a=5,b=8; x+=a-b; } int x,y; void main()

{ int i,a=10,b=15; for(i=0;i<3;i=i+2)

{ x+=a+b; y+=a-b; num();

printf(\ }

80.下列程序的功能是:将一整数N(N≠0)分解成1(或-1)和一些质数(素数)因子的形式。例如:

当N=36时,可分解成1*2*2*3*3; 当N=-36时,可分解为-1*2*2*3*3。

《计算机专业综合理论》试卷 第 9 页 (共 16 页)

题79答题处 y+=a+b;

}

程序运行时,若输入整数36,则输出形式为:N=1*2*2*3*3

请仔细阅读程序,并将答案填写在题80答题处。 #include #include void main() { int n,i,r;

printf(\请输入整数n的值:\ scanf(\ if(n==0)

{ printf (\ exit(0); }

else if (n>0) printf(\ else

{ printf(\ ① ; }

for(i= ② ;i<=n;i++) { r=n%i; while( ③ )

{ printf(\

④ ; r=n%i;

} }

printf(\}

81.下列程序的功能是:将nsys(nsys<10)进制数a,转换成十进制数,最后将结果在屏幕上显示

并保存在文件“data.dat”中。请仔细阅读程序,并将答案填写在题81答题处。 #include #include #define N 5

《计算机专业综合理论》试卷 第 10 页 (共 16 页)

题80答题处 ① ② ③ ④

int convert(int a,int nsys) { int t,p; if(a

① ; t=0, p=1; while(a!=0)

{ ② ; a/=10; p*=nsys; } return t;

}

void main() { int i,d;

int num[N][2]={{704,8},{10011,2},{266,7},{3,5},{22110,3}};

FILE *fp;

if((fp=fopen(\ printf(\ exit(0); }

for(i=0;i

{ d=convert( ③ ); printf(\进制数的%d\\t =十进制数的%d\\n\ fprintf(fp,\进制数的%d\\t =十进制数的%d\\n\

}

④ ; }

82. 编写程序,找出二维整型数组a[4][4]中每行元素的最大值,并将该元素移动至该行首列。 (1)编写void findmax(int a[][N], int n[])函数:找出二维数组a中每行元素的最大值,并将该元素的列下标存入数组n中,即第0行元素最大值的列下标存入n[0], ...,第3行元素最大值的列下标存入n[3]。

(2)编写void move(int a[][N],int n[])函数:根据数组n中保存的数据,将a数组中每行最大值元素移动到该行首列,要求移动后该元素与该行其他元素的相对位置不变。

《计算机专业综合理论》试卷 第 11 页 (共 16 页)

题81答题处 ① ② ③ ④

例如:a数组的初始数据为:

-2 13 6 9

25 4 0 11 -8 3 10 16 4 7 5 20 经过处理后a数组中数据为: 13 6 9 -2 25 4 0 11 16 -8 3 10 20 4 7 5 #include #define N 4

void findmax(int a[][N], int n[]){ /**********Program**********/

/********** End **********/ }

void move(int a[][N],int n[]){ /**********Program**********/

/********** End **********/ }

《计算机专业综合理论》试卷 第 12 页 16 页) (共