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
{ 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
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
《计算机专业综合理论》试卷 第 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 void findmax(int a[][N], int n[]){ /**********Program**********/ /********** End **********/ } void move(int a[][N],int n[]){ /**********Program**********/ /********** End **********/ } 《计算机专业综合理论》试卷 第 12 页 16 页) (共