四、程序填充题(本大题共3小题,每小题6分,共18分) 给出下列程序,将横线处缺少的部分补上,使其能正确运行。 36.将一个十进制整数n转变为二进制数。 main( ) { int i=0,j,n,num[20]; scanf(″%d″, ); /*第一空*/ while(n!=0) { num[i++]= ; /*第二空*/ n= ; /*第三空*/ } for(j=i-1;j>=0;j--)printf(″%d″,num [j]); } 37.一个一维数组和一个二维数组同处一个共用型,将数据输入一维数组后,在二维数组中输出。 main( ) {union data { int a[10]; int b ;/*第一空*/ }; union data ab; int i,j; for(i=0;i<10,i++) scanf(″%d″, ); /*第二空*/ for(i=0;i<2;i++) for(j=0;j<5;j++) printf(″%5d″, );/*第三空*/ } 38.用指针法输出二维数组,每行三个数。 main( ) {int i,j,a[3][3]={1,2,3,4,5,6,7,8,9},(*p)[3]; ; /*第一空*/ for(i=0;i<3;i++) { for(j=0;j<3;j++) printf(″%5d″, ); /*第二空*/ ;/*第三空*/ } }五、程序设计题(第39小题5分,第40、41小题各6分,共17分) 39.输出100之内所有个位数字为6且能被3整除的自然数。(如:36,66,96……) 40.键入一串字符(换行符结束),用循环语句将其中的大小写英文字母互换后输出。 41.设int a[3][4];先为数组输满数据,再将该数组周边的元素输出(元素输出次序不限)。 |